将Framebuffer纹理应用于模型的特定面的最佳方法是什么?

时间:2016-01-17 12:22:12

标签: opengl lwjgl

我目前使用OpenGL / LWJGL进行场景渲染,从一些渲染到FrameBuffer创建纹理,然后将纹理渲染到生成的四边形 - 所有工作都很好。

我的问题是将生成的纹理应用到我导入的模型的面部的最佳方法是什么?

  • 此模型已经为适用于模型剩余面的另一个纹理生成了UV,但我不清楚如何将FBO纹理单独应用于一个面。
  • 脸部是矩形的,FBO纹理应该简单地适合脸部,就像它填充一个单独的四边形一样 - 所以理论上如果我明白如何去做,那么绘图应该是直截了当的。

另一个想法是仍然渲染到一个单独的四边形并尝试将该四边形相对于模型略微位于所需面部上方,但这似乎非常难以正确定位并且如果模型发生变化则需要额外的工作。

1 个答案:

答案 0 :(得分:2)

你的问题被夸大了。纹理的数据恰好来自之前对FBO的渲染操作这一事实完全无关紧要。您的问题是"如何使用特定面部的特定纹理?"

在一天结束时,您有一个选项:渲染多个网格物体。一个绘制使用一个纹理的面,另一个绘制使用第二个纹理的面。这只是分离哪些面去哪种纹理的问题。

如果你正在使用一些外部装载的模型,那么必须将模型分成几部分,每个部分都使用不同的纹理。