在iOS上使用OpenGL ES 2.0实现无缝立方体贴图?

3

有没有相当于的等效物

glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS);

在实现立方体贴图采样器时,如何在OpenGL ES2.0中处理接缝?我正在iPad上开发一个测试应用程序,将立方体贴图映射到球体上,并且我在每个立方体贴图面之间都有接缝。
如果在ES2.0中没有神奇的glEnable,则消除接缝的最佳方法是什么?

1
哎呀,我已经找到解决方案了。只需在两个方向上设置“CLAMP_TO_EDGE”即可!glTexParameteri(GL_TEXTURE_CUBE_MAP,GL_TEXTURE_WRAP_S,GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP,GL_TEXTURE_WRAP_T,GL_CLAMP_TO_EDGE); - Angus Forbes
1个回答

4

OpenGL ES没有桌面GL的ARB_seamless_cube_map功能。

而且,glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S/T, GL_CLAMP_TO_EDGE)不算。无缝立方体贴图意味着来自不同面的纹素可以混合在一起。边缘夹紧意味着恰好是这样:夹紧到一个面的边缘。你所做的是让接缝不那么明显;它仍然存在


在Android上使用OpenGL ES 2.0和PowerVR时,这似乎不准确 - 我使用了GL_TEXTURE_CUBE_MAP而没有夹紧,并且没有接缝,纹理之间有混合。这是驱动程序特定的吗? - Learn OpenGL ES
@Kevin:规范不允许在图像之间混合。如果这样做了,那么就是违反规范的行为。显然不是不受欢迎的,但仍然是违反规范的。 - Nicol Bolas
你的立方体贴图本身有接缝吗?大多数都没有,所以你不用担心接缝问题。 - gman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接