我在opengl中使用5个四边形上的五个纹理制作了一个天空盒,问题是纹理之间的线条(边界)是可见的:
lazy2 http://img3.imageshack.us/img3/6541/opengl.png
你如何得到这些界限。
答案 0 :(得分:0)
我在OpenSceneGraph中遇到了同样的问题,并采用了OpenGL解决方案,这应该是非常简单的。基本上只需在程序启动之前使用glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS)
,然后再开始渲染循环,这些行就会消失。
我的研究中存在一些含糊之处,有可能枚举实际上是GL_TEXTURE_CUBEMAP_SEAMLESS
,但是其中一个应该适合你。 OSG中有点复杂,因为您需要#define GL_TEXTURE_CUBE_MAP_SEAMLESS 0x884F
然后使用state->setMode(GL_TEXTURE_CUBE_MAP_SEAMLESS, osg::StateAttribute::ON)
启用无缝立方体贴图,其中state是从场景图的根开始设置的状态。
我希望这有帮助,它对我有用。