android – 法线贴图与普通坐标

android – 法线贴图与普通坐标,第1张

概述我目前正在使用OpenGL ES 1.1并使用DrawElements约定以及Vertex,Normal,Texture Coordinate和Index数组. 我最近在研究使用Normal / Bump映射的想法时遇到了这个问题,我之前使用OpenGL ES是不可能的: http://iphone-3d-programming.labs.oreilly.com/ch08.html 我已经可以从我 我目前正在使用OpenGL ES 1.1并使用DrawElements约定以及Vertex,normal,Texture Coordinate和Index数组.

我最近在研究使用normal / Bump映射的想法时遇到了这个问题,我之前使用OpenGL ES是不可能的:
http://iphone-3d-programming.labs.oreilly.com/ch08.html

我已经可以从我的3D建模器中生成一个物体快速法线贴图,但是我不能完全清楚的是,如果为法线贴图实现第二个纹理单元,是否需要法线坐标数组,或者是否会照明颜色纹理通过DOT3_RGB选项与法线贴图结合是否只需要?

编辑 – 在进一步研究DOT3 lighting之后,我不确定ognian给出的答案是否正确.这个页面,http://www.3dkingdoms.com/tutorial.htm给出了它的用法示例,如果你看一下代码的“渲染和最终结果”部分,就没有普通数组的常规数组ClIEntState从不启用.

我也在这里发现了这篇文章,What is DOT3 lighting?这解释得很好……但引出了另一个问题.在评论中,它声明不是翻译法线,而是翻译光线方向.我对此感到困惑,好像我有一个固定墙壁的游戏……为什么我只为一个模型移动灯光?希望有人可以对所有这些做出很好的解释……

解决方法 而切线空间法线贴图扰乱了从每顶点法线插值的法线,而对象空间法线贴图已经包含了有关地图中曲面方向的所有必需信息.因此,如果您只是在OpenGL ES 1.1中进行DOT3照明,则无需再次传递法线.

另一篇文章提到翻译光方向而不是法线的原因是因为点积(每像素法线和光矢量)的两个参数需要在相同的坐标空间中才能使点积产生任何意义.因为您有一个对象空间法线贴图,所以每像素法线始终位于对象的局部坐标空间中,并且纹理环境不提供任何应用进一步转换的方法.有可能你的光矢量在其他空间中,所以提到的变换是从其他空间转换回对象的局部空间.

总结

以上是内存溢出为你收集整理的android – 法线贴图与普通坐标全部内容,希望文章能够帮你解决android – 法线贴图与普通坐标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1124074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存