OpenGL 改变法线

OpenGL transforming the normals

提问人:Dazckel 提问时间:12/21/2021 更新时间:12/21/2021 访问量:64

问:

我是 OpenGL 的新手,我使用的是 4.6.0 版本。 我有一个由不同数字组成的模型。 当应用照明时,法线被拧紧。 我尝试阅读文档,从理论上讲,我所要做的就是乘以转置的倒数并重新调整法线。 在这个论坛上

http://www.songho.ca/opengl/gl_normaltransform.html 建议有两个模型视图,一个用于模型的变换,另一个仅存储法线的旋转。

问题是我不知道如何定义 seccond modelview 或任何类型的矩阵,或转置 glModelView。 谢谢。

C++ OpenGL

评论

2赞 BDL 12/21/2021
请显示您的着色器和相关代码。你真的在用 4.6 吗?因为 glModelView 看起来不像现代 GL。
0赞 Erdal Küçük 12/21/2021
如果您使用的是 OpenGL 4.6(核心配置文件),则用于在着色器单元中设置统一变量。但我想,你想使用兼容性配置文件(OpenGL 2.x)吗?现代 OpenGL 不了解/关心 Modelview 或投影矩阵,只有矩阵,如何使用它们取决于开发人员(通过着色器代码)。看看 learnopengl.com open.gl,khronos.org/registry/OpenGL-Refpages/gl4 khronos.org/opengl/wikiglUniformMatrix

答: 暂无答案