![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图形学算法
封狼居胥_COU
这个作者很懒,什么都没留下…
展开
-
图形学中的行矩阵和列矩阵
本算法是从CryEngine里面扒下来的,CryEngine里面使用的矩阵为列矩阵。什么是列矩阵?比如M(x,y)表示取出矩阵的x行y列元素,那么对于一个4x4的齐次矩阵K来说,如果它的位置分向量为T(下标索引从0开始计,一个矩阵有旋转分量和位置分量),则T为T=Vec3(K(0,3),K(1,3),K(2,3)),并且在矩阵作用于向量的变换时应如下Matrix44 mat=...;//44...原创 2018-10-16 16:06:23 · 6169 阅读 · 2 评论 -
图形学第一人称摄像机算法
本算法是从CryEngine里面扒下来的,CryEngine里面使用的矩阵为列矩阵。而我扒下来是要用到OSG,OSG是行矩阵,所以所有算法涉及到取矩阵元素的行列位置做了颠倒。比如在CryEngine中取矩阵x行y列元素为M(x,y),对应到OSG中应该是M(y,x)。不知道什么是行列矩阵的请参考我的博客图形学中的行矩阵和列矩阵。在行矩阵中第一人称摄像机操作算法所谓摄像机就是在3D图形学中观察...原创 2018-10-16 16:39:41 · 1725 阅读 · 0 评论 -
根据模型的顶点坐标和纹理坐标计算顶点的法线、切线和副法线
如何根据模型的顶点位置坐标和纹理坐标计算顶点的法线、切线和副法线?我们把顶点数据记作P(x,y,z,u,v),(x,y,z)是位置坐标,(u,v)纹理坐标三角形的3个顶点就可以表示成P0(x0,y0,z0,u0,v0)P1(x1,y1,z1,u1,v2)P2(x2,y2,z2,u2,v1)因为u,v的变化对x的影响是线性的,则有x = C1 u + C2 v + C3不妨整理一下,...转载 2018-10-10 12:32:01 · 3477 阅读 · 0 评论 -
OpenGL投影矩阵
目录1.综述2.透视投影3.正交投影综述电脑屏幕是2D表面,必须将OpenGL渲染的3D场景作为2D图像投影到计算机屏幕上,所以就需要用到投影变换MpM_pMp。首先,MpM_pMp将所有顶点数据从眼睛坐标转换为裁剪坐标。然后,这些裁剪坐标的各分量(x,y,z)通过除以w分量被变换到规范化坐标(NDC)。所以MpM_pMp其实做了两步操作:将相机空间坐标变换到投影空间将...原创 2018-11-09 15:41:05 · 2002 阅读 · 0 评论 -
模型切分思路
CPU 端切分思路1 将当前场景所有三角形都收集起来. 相当于一个巨大的mesh;2. 确定好计算平面, 计算所有的三角形和平面的关系. 三角形在平面上的, 放到upperList,三角形在平面下的, 放到lowerList. 对于和平面相交的, 把三角形切开, 分开保存.3. 合并起来. 就得到了上下分开的三角形们了...原创 2018-11-22 10:13:37 · 554 阅读 · 0 评论