我正在学习在OpenGL的2D图形中使用法线贴图(按像素照明吗?)。

对法线贴图不熟悉,我设法将头围在Sobel运算符上,并生成了法线贴图(主要归功于this),即根据像素数据的(2D)数组创建法线的(2D)数组。

(我发现的大多数教程和论坛主题都特定于3D使用和建模软件。我的目标是自己用C++实现此功能。)

  • 正常后我该怎么办
    map ?
  • 我需要向其注册吗
    OpenGL?
  • 是否需要关联
    与质地,如果是的话,它怎么样
    完毕?
  • 如何将其映射到2D
    纹理四边形?
  • (这是
    我可以不使用着色器/GLSL吗?)
  • 最佳答案

    我建议您看一下:

    This nvidia presentation on bumb mapping

    我已经有一段时间没有对此进行研究了,但是我记得它在实现凹凸贴图着色器中讨论了大多数细节,应该使一些想法得以运行。

    This other nvidia tutorial for implementing bump mapping in the cg shader langauge

    This bump mapping tutorial might also be helpful

    我知道所有这些都不是用于完整的法线贴图,但是它们是一个好的开始。

    同样,虽然着色器语言存在差异,但是如果您要使用GLSL,则不难在它们之间转换公式。

    就像ybungalobill所说,您可以在不使用着色器的情况下做到这一点,但是除非您从事的是教育项目(用于您的教育)或特定的嵌入式设备,否则我不知道为什么要这么做-但如果确实需要this,您要查找的位置,它是在着色器之前编写的,并进行了更新以供以后引用。

    关于c++ - 如何在OpenGL中应用法线贴图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3798230/

    10-10 03:17