Opengl JOGL纹理是半透明的

Opengl JOGL纹理是半透明的,opengl,rendering,textures,jogl,Opengl,Rendering,Textures,Jogl,很抱歉,如果这是一个简单的修复,但我似乎找不到解决方案 我创建了一个长方体,通过制作四个四边形来制作纹理。但是,当我旋转长方体以查看其渲染方式时,应该不可见的纹理将显示在其他纹理的顶部 我认为这与它们的呈现顺序有关。我首先渲染长方体的正面,这样当我旋转到背面时,正面纹理将显示在背面 我记得看到一些关于“挑选”的东西,但我找不到任何文档。如果您能为我指明正确的方向,我们将不胜感激 这听起来更像深度测试问题,而不是筛选问题(虽然看起来更好,这意味着一些代码)。您确定启用了深度测试(glEnable(

很抱歉,如果这是一个简单的修复,但我似乎找不到解决方案

我创建了一个长方体,通过制作四个四边形来制作纹理。但是,当我旋转长方体以查看其渲染方式时,应该不可见的纹理将显示在其他纹理的顶部

我认为这与它们的呈现顺序有关。我首先渲染长方体的正面,这样当我旋转到背面时,正面纹理将显示在背面


我记得看到一些关于“挑选”的东西,但我找不到任何文档。如果您能为我指明正确的方向,我们将不胜感激

这听起来更像深度测试问题,而不是筛选问题(虽然看起来更好,这意味着一些代码)。您确定启用了深度测试(
glEnable(GL\u depth\u TEST)
)并使用深度缓冲区检索了上下文吗?

这听起来(虽然看起来更好,意味着一些代码)更像深度测试问题,而不是剔除问题。是否确实启用了深度测试(
glEnable(GL_depth_TEST)
)并检索了具有深度缓冲区的上下文?

首先确保已启用深度测试,并且框中四边形的“z”值正确。您的问题似乎是对四边形使用了相同的深度值,或者只是禁用了深度测试

一个快速搜索给了我这个链接。希望它会有所帮助。


附言:你的文章标题不支持你的问题:(

首先确保你启用了深度测试,并且框中四边形的“z”值正确。你的问题似乎是你对四边形使用了相同的深度值,或者只是禁用了深度测试

一个快速搜索给了我这个链接。希望它会有所帮助。


附:你的标题不支持你的问题:(

你能给我们提供更多细节吗?你说的是画一个盒子,但你也提到了4个面,而一个盒子通常有6个面。你确定你的面画在了正确的位置吗?如果你只是用颜色而不是纹理来区分面会怎么样?你能给我们提供更多细节吗?你说的是画一个bo吗x、 但是你也提到了4个面,而一个盒子通常有6个面。你确定你在正确的位置画了你的面吗?如果你只是用颜色而不是纹理来区分这些面会怎么样?@DJClayworth不,为什么要这样做?如果你先画正面,然后再画背面,背面在fr上总是可见的从每个角度来看,如果深度测试被禁用,则从另一个角度来看。也许您谈论的是一种情况,即启用背面消隐,但首先,这不是默认情况,其次,背面消隐应该用于优化目的,而不是用于消除隐藏曲面,因为后者仅适用于此类简单的凸面对象T像一个立方体。@DJClayworth不,为什么要这样做?如果你先画正面,然后画背面,如果深度测试被禁用,从每个角度来看,背面都会在正面可见。也许你说的是背面剔除被启用的情况,但首先,这不是默认情况,其次是背面剔除面剔除更应该用于优化目的,而不是用于隐藏面移除,因为后者只适用于立方体等简单的凸面对象。我为2D项目启用了深度测试,这导致它们完全不透明。你的评论让我走上了正确的轨道!我为2D项目启用了深度测试,这是因为你的评论让我走上了正确的轨道!