大佬教程收集整理的这篇文章主要介绍了3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在 OpenGL 中,我们可以通过将对象乘以以下形式的缩放矩阵来缩放对象
x 0 0 0
0 y 0 0
0 0 z 0
0 0 0 1
现在让我们假设我想要一个统一的缩放(这种情况很常见),所以变换矩阵 A
的形式如下:
A = s 0 0 0
0 s 0 0
0 0 s 0
0 0 0 1
按因子 s
的比例。但是由于 OpenGL 将矢量坐标 (x,y,z,w)
除以 w
,我可以吗,而不是乘以 A
,而不是更有效(更少的计算),除以 {{1 }} 由 w
?引擎是否使用它,如果没有为什么不使用?
你问错了问题。
引擎不会这样做,因为引擎通常不会将事物乘以“比例矩阵”。它们乘以矩阵,着色器既不知道也不关心其内容。它可能包括缩放;它可能不会。无论哪种方式,顶点着色器都不会在意。它只是在做矩阵数学。
您的方式将要求 VS 明确意识到“缩放”是一种特殊的变换,不同于旋转、定位或其他变换,并使用特殊的数学运算来计算它。标准方式不需要特殊的“缩放”制服或任何类似的东西。它只是矩阵的一部分。它还可以与其他转换更好地组合,因为它只是存储在同一类对象中的另一个转换,使用相同的组合数学。
实际上,组合几乎肯定不会在矩阵的 [3,3] 分量中正常工作。
以上是大佬教程为你收集整理的3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别?全部内容,希望文章能够帮你解决3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。