3D渲染常用数学技巧

1.  渲染全屏矩形 [-1,1],是由两个三角形组成。

    也可以使用一个三角形,它和屏幕剪裁后便是[-1,1]的矩形。 三角形为:const float2 vertices[] = { float2(0, 2), float2(3, -1), float2(-3, -1) };

2.一位(8bit)表示256,看看Lbuffer表示的电光源距离,CPU做剪裁注意吧

 

3.

平移矩阵的逆矩阵可以直接将平移参数取负.

缩放矩阵的逆矩阵就是将对角线上的三个缩放参数取自身的倒数。

旋转矩阵的逆矩阵可以将旋转的角度参数取负,表示再转过相反的角度。

 

5.

转置矩阵:一个矩阵的转置矩阵就是将这个矩阵的行列交换。

逆矩阵:一个矩阵乘以它的逆矩阵得到单位矩阵。

正交矩阵:若一个矩阵的转置矩阵就是它的逆矩阵,那么这个矩阵就是正交矩阵。

旋转矩阵是正交矩阵

使用矩阵乘法并把(纵列)向量当作n×1矩阵,点积还可以写为: a ·b = abT. 由a和b的点乘变换为a和b的转置的叉乘。n x 1矩阵和1 x n矩阵叉乘结果还是标量。

 

 

6.法向量变换受所在三角形影响,变换后的三角形可能已经形变,在变换到view空间不能只乘以matrixWV,要乘以matrixWV的转置再逆。当然,像平面这种由法线构成的结构也是如此的!

物体三角形本地空间:物体的本地坐标系。 法线是根据平面计算出来的。

 

7. 凹凸纹理转法向量

    // Sample the pixel in the bump map.
    bumpMap = normalMapTexture.Sample(SampleType, input.tex);

    // Expand the range of the normal value from (0, +1) to (-1, +1).
    bumpMap = (bumpMap * 2.0f) - 1.0f;
   
    // Calculate the normal from the data in the bump map.
    bumpNormal = input.normal + bumpMap.x * input.tangent + bumpMap.y * input.binormal;
 
    // Normalize the resulting bump normal.
    bumpNormal = normalize(bumpNormal);

 8. 空间位置对纹理坐标造成的影响,而进行的纹理坐标改变计算,要转换到切向空间进行计算。

9. 三角形的重心:三角形三边中点的连线。具有很多性质。图形渲染选择三角形内部任意一点,重心一定在三角形内部。不知道还常用来做什么?

10.  为什么不在VS做透视投影的除w?

VS中: 如果w为负,xyz/w,会使xyz的符号取反。 w为负, 小于nearplane的被裁掉,会把整个三角形都弄乱
VS后PS前得clip:判-w < x < w 会错误的剪裁

PS中:除以w是pixel级别剔除

 11. 透视纹理影射:uv方向的插值。 uv在平面空间和1/z是线性关系,uv*1/z进行插值,然后再除以1/z得到正确的uv。

12.D3DXMatrixPerspectiveFovLH() 成像在中心

  D3DXMatrixPerspectiveOffCenterLH成像可以有偏移

13.TBN矩阵
T和B为U和V方向。
T和B是该三角形所在的平面,N垂直于三角形平面。
我觉得这样理解:T和B的值为纹理坐标UV在三角形本地空间坐标系下的值
三角形本地空间坐标系 那有这样的坐标系,其实就是模型的本地空间坐标系

积累中,未完待续...

### 回答1: 《3D数学基础第二版PDF》是一本关于三维数学基础的电子书,它适合那些对计算机图形学、游戏开发等领域感兴趣的读者。这本书的作者将三维数学的基本概念和技巧进行了深入的讲解和解释。 在这本书,读者将学习到三维空间的坐标系、向量、矩阵等基本概念,并且将通过具体的例子和实践操作来加深理解。此外,书还介绍了常用的三维变换操作,如平移、旋转、缩放等,以及如何在计算机程序进行相关的计算。 除了基本概念和技巧外,书还涵盖了更高级的内容,例如投影、光照模型、曲线曲面等。这些内容可以帮助读者更深入地理解三维图形的生成和渲染过程。 这本书通过简洁清晰的语言和详细的示例,为读者提供了一本很好的学习资料。无论是初学者还是有一定数学基础的读者,都能从获益。同时,这也是一本很好用的参考书,读者可以随时翻阅其的内容,解决遇到的问题。 总之,《3D数学基础第二版PDF》是一本涵盖广泛的关于三维数学的电子书,它提供了丰富的基础知识和技巧,适合那些对计算机图形学和游戏开发感兴趣的读者。无论是学习还是参考,这本书都是一本很好的选择。 ### 回答2: 《3D数学基础第二版》是一本关于3D数学基础知识的PDF电子书。该书主要涵盖了三维几何、向量代数、矩阵与变换等方面的内容,并介绍了如何在计算机图形学和计算机视觉领域应用这些数学知识。 这本书的第二版在第一版的基础上进行了修订和完善。它通过清晰的文字描述和详细的图示,深入浅出地介绍了3D数学的基本概念和原理。读者可以从了解到3D空间的基本性质,学习如何进行三维几何运算,以及如何使用向量和矩阵表示和计算3D对象的变换。 除了基础理论知识外,该书还提供了大量实际应用的实例和案例分析。这些例子涵盖了计算机图形学和计算机视觉的各个领域,让读者可以从实际问题学习和应用数学知识。此外,书还包含了习题和答案,读者可以通过解答这些习题来巩固所学的知识。 《3D数学基础第二版》适合计算机科学、图像处理、计算机图形学等领域的学生和从业人员阅读。不仅可以作为学习教材,还可以作为参考书籍。对于想要深入了解和运用3D数学的人来说,这本书是一本很有价值的资料。 总之,《3D数学基础第二版》是一本系统全面介绍3D数学基础知识的PDF电子书。通过阅读这本书,读者可以从零开始学习并掌握相关数学知识,为日后的学习和应用打下坚实的基础。 ### 回答3: 《3D数学基础第二版PDF》是一本介绍3D数学基础的电子书,它包含了3D数学的基本概念、公式和应用。这本书的作者深入浅出地解释了向量、矩阵、坐标系、投影、相交检测等重要概念,帮助读者理解和应用3D数学在计算机图形学、游戏开发和虚拟现实等领域的技术。 书的内容非常系统和详细,适合想要学习3D数学的初学者和从事相关领域工作的专业人士使用。它提供了大量的图示和实例,通过具体的应用场景帮助读者理解概念和公式的应用。此外,书还包括了一些实际项目的示例代码,方便读者学习和实践。 这本电子书以PDF格式发布,方便读者在各种设备上阅读和搜索关键词。读者可以通过在电脑、平板或手机上打开PDF文件,自主学习3D数学的基础知识。同时,电子书的PDF格式使得读者可以自行调整字体大小、添加笔记和书签,提高个性化的学习体验。 总之,《3D数学基础第二版PDF》是一本全面介绍3D数学基础的书籍,具有系统性、详细性和实用性,对于想要学习或提高3D数学能力的读者来说是一本很好的参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值