Opengl 将帧缓冲区纹理应用于模型的特定面的最佳方法是什么?

Opengl 将帧缓冲区纹理应用于模型的特定面的最佳方法是什么?,opengl,lwjgl,Opengl,Lwjgl,我目前使用OpenGL/LWJGL进行了一次场景渲染,它从一些渲染创建一个纹理到一个帧缓冲区,然后将该纹理渲染到一个生成的四边形,所有这些都很好地工作 我的问题是,将生成的纹理应用于我导入的模型的面,最好的方法是什么 该模型已经为另一个纹理生成了UV,该纹理应用于模型的其余面,但我不清楚如何将FBO纹理单独应用于一个面 面将是矩形的,FBO纹理应该简单地适合面,就像它填充一个单独的四边形一样-因此理论上,如果我知道如何做,映射应该是简单的 另一种方法是仍然渲染到一个单独的四边形,并尝试将该四

我目前使用OpenGL/LWJGL进行了一次场景渲染,它从一些渲染创建一个纹理到一个帧缓冲区,然后将该纹理渲染到一个生成的四边形,所有这些都很好地工作

我的问题是,将生成的纹理应用于我导入的模型的面,最好的方法是什么

  • 该模型已经为另一个纹理生成了UV,该纹理应用于模型的其余面,但我不清楚如何将FBO纹理单独应用于一个面
  • 面将是矩形的,FBO纹理应该简单地适合面,就像它填充一个单独的四边形一样-因此理论上,如果我知道如何做,映射应该是简单的

另一种方法是仍然渲染到一个单独的四边形,并尝试将该四边形相对于模型放置在所需面稍高的位置,但是如果模型发生变化,则正确放置该四边形似乎非常困难,并且需要额外的工作。

您的问题被夸大了。纹理的数据恰好来自FBO之前的渲染操作,这一事实与此完全无关。你的问题是“我如何在特定的脸上使用特定的纹理?”

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


如果您使用的是外部加载的模型,那么模型必须分块构建,每一块都使用不同的纹理。

您的问题被夸大了。纹理的数据恰好来自FBO之前的渲染操作,这一事实与此完全无关。你的问题是“我如何在特定的脸上使用特定的纹理?”

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

如果您使用的是外部加载的模型,那么模型必须分块构建,每一块都使用不同的纹理