程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别??

开发过程中遇到3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别?的问题如何解决?下面主要结合日常开发的经验,给出你关于3D OpenGL 变换:乘以均匀比例矩阵和除以 w 有什么区别?的解决方法建议,希望对你解决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,请注明来意。