上一页 1 ··· 3 4 5 6 7
摘要: 在投影变换视口变换后,需要对投影到屏幕上的平面三角形顶点属性进行线性插值,例如颜色,纹理,深度等。但对于投影前在3D空间的三角形来说,这个插值并不是线性的。下面来推导一下这个插值。 假设屏幕空间的三角形的三个顶点分别为$v_0,v_1,v_2$,$v_p$是位于三角形一边上的点$v_0 + t(v_ 阅读全文
posted @ 2020-02-07 19:59 异次元的归来 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 其实问题就是给定y方向的视域角$\alpha$,和视域的宽高比$r$,求投影矩阵。 我们首先假设投影平面距离摄像机的距离为$d$,视域的宽为$w$,高为$h$,近剪裁面距离摄像机的距离为$n$,远剪裁面距离摄像机的距离为$f$,那么首先有: $$ r= \frac{w}{h} $$ $$ tan\f 阅读全文
posted @ 2020-01-31 20:30 异次元的归来 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,观察矩阵的作用就是将一个点从 世界坐标系 转换到 观察坐标系 ,这个点的实际位置并不发生变化。参考 "上一篇文章" ,问题就转化成了,假设任意点$\vec p$,它在世界坐标系$W$下的坐标为$(x, y, z)$,求在观察坐标系$V$下的坐标$(x', y', z')$。套用公式,可得: 阅读全文
posted @ 2020-01-31 16:41 异次元的归来 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 总体来说可以概括为以下几个步骤: 1. 创建Device和Context 2. 创建SwapChain 3. 为BackBuffer创建View 4. 创建Depth/Stencil Buffer,并为之创建View 5. 将View绑定到Context中 6. 设置Viewport 创建Devic 阅读全文
posted @ 2019-12-08 23:52 异次元的归来 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 什么是仿射变换? 仿射变换定义为一个线性变换加上平移变换。即: $$ g(\vec v) = f(\vec v) + \vec b $$ 仿射变换的矩阵表示 $$ g(\vec v) = [x, y, z] \cdot \begin{bmatrix} f(\vec i) \\ f(\vec j) \ 阅读全文
posted @ 2019-11-14 00:29 异次元的归来 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 什么是线性变换? 假设有一数学函数$f$,使得三维向量$\vec v=(x,y,z)$,有$f(\vec v) = f(x, y, z) = (x',y',z')$。那么,如果$f$满足: 1. $f(\vec u + \vec v) = f(\vec u) + f(\vec v)$ 2. $f(k 阅读全文
posted @ 2019-11-04 00:29 异次元的归来 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 对于一组向量,有时候我们需要对其进行正交化处理,也就是说,该组向量中任意两个向量都是互相垂直的。那么,要怎么做呢? 假设只有两个向量,$\vec v_0$和$\vec v_1$,正交化的几何示意图如下所示。 假设正交化之后的向量为$\vec w_0$和$\vec w_1$,那么由图可知,可得$\ve 阅读全文
posted @ 2019-10-21 12:56 异次元的归来 阅读(2377) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7