【发布时间】:2010-11-13 03:29:44
【问题描述】:
我想了解的方法是假设我们有一个交互式应用程序(游戏、模拟等)。现在不是使用从内存加载的图像来纹理立方体的侧面,而是如何使用从该方向获取的渲染内容并将其用作纹理。
所以想象一个相机被放置在立方体内,指向 +z 方向。相机正前方的一侧将带有相机前方存在的图像的纹理。立方体的顶部将带有相机上方存在的图像的纹理。等等。
希望这很清楚。
谢谢
【问题讨论】:
我想了解的方法是假设我们有一个交互式应用程序(游戏、模拟等)。现在不是使用从内存加载的图像来纹理立方体的侧面,而是如何使用从该方向获取的渲染内容并将其用作纹理。
所以想象一个相机被放置在立方体内,指向 +z 方向。相机正前方的一侧将带有相机前方存在的图像的纹理。立方体的顶部将带有相机上方存在的图像的纹理。等等。
希望这很清楚。
谢谢
【问题讨论】:
这称为渲染到纹理,在 OpenGL 中它是使用帧缓冲区对象 (FBO) 实现的。
【讨论】:
在不支持 EXT_framebuffer_object 的 OpenGL 实现上,您可以使用 glViewport() 渲染到主帧缓冲区的子集,然后通过 glCopyTexSubImage2D() 将该图像复制到纹理中。
【讨论】: