我在Mac OS X程序中使用了glDepthRange(1.0,0.0)来给自己一个右手坐标系。显然,我没有使用OpenGL ES 2.0的iOS选项。是否有一个快速解决方案,让更高的z值出现在前面,还是必须重新计算我的所有数学?在OpenGL ES 2.0 for iOS中glDepthRange发生了什么变化?
回答
以及你可以尝试glDepthFunc。如果使用GL_GREATER,默认值为GL_LESS,则会渲染具有较高z值的像素。
glDepthFunc(GL_GREATER);
或者,您可以在顶点着色器中加入这一行
gl_Position.z = -gl_Position.z;
如果我使用glDepthFunc(GL_GREATER)(或glDepthFunc(GL_GEQUAL)),则根本没有任何显示。我记得在原始程序中发生了这种情况,所以(我认为)我遵循了使用glDepthRange()的建议。你知道可能会发生什么事情吗? – AbleArcher 2013-03-22 02:07:12
glDepthRangef(1.0,0.0)不工作?注意:有一个“f” – DanP 2013-03-22 02:28:30
*你没有看到任何使用glDepthFunc(GL_GREATER)的东西,因为深度的默认值是1.0,你可以使用glClearDepthf更改深度的默认值 – DanP 2013-03-22 02:31:59
- 1. 为什么在iOS OpenGL ES 2.0中不重复这种纹理?
- 2. OpenGL ES 2.0,变化的范围是什么?
- 3. openGL es 2.0 TextureCoordinates参数ios
- 4. OpenGL ES 2.0衍生纹理
- 5. 在OpenGL ES for iOS中移动对象?
- 6. 为什么不用vec3 for OpenGL ES 2.0 gl_Position?
- 7. 从OpenGL ES 1.1过渡到OpenGL ES 2.0
- 8. 在OpenGL ES 2.0的
- 9. OpenGL ES 2.0纹理
- 10. OpenGL vs OpenGL ES和OpenGL 1.x vs OpenGL 2.0要学什么?
- 11. osmesa OpenGL ES 2.0
- 12. OpenGL ES For iPhone
- 13. 文档发生了什么变化?
- 14. 的OpenGL ES 2.0:在纹理
- 15. ios opengl es 2.0 2D + 3D组合
- 16. OpenGL 2.0 ES坐标
- 17. iOS - 需要OpenGL ES 2.0进行升级?
- 18. iOS - 使用OpenGL ES 2.0显示文本
- 19. 的OpenGL-ES 2.0和EGL *函数(IOS)
- 20. 的OpenGL ES 2.0:与VBO
- 21. OpenGL ES 2.0 X轴被翻转了吗?
- 22. 的OpenGL ES 2.0 3D
- 23. 使用OpenGL ES 2.0与cmake生成iOS静态库
- 24. 设置OpenGL ES 2.0纹理
- 25. 为什么在OpenGL ES 2.0中像素颜色不准确?
- 26. 在OpenGL ES 2.0中我应该用什么来代替glTexCoordPointer()?
- 27. 为什么glDeleteTextures()在OpenGL ES 2.0中有三个参数?
- 28. 为什么我的对象在使用gluLookat for OpenGL ES 2.0后消失?
- 29. opengl es 2.0中的GL_APPLE_clip_distance
- 30. OpenGL ES 2.0中的GLPaint
我的理解是,OpenGL ES 2.0的是GL API重启和空白的石板。除了快速访问GPU之外,所提供的内置功能非常少。所以,你必须推出自己的。或者,某些Apple提供的着色器可能能够提供您想要的内容。 – nielsbot 2013-03-21 20:59:47
深度测试是核心功能。我仍然可以指定大部分深度测试已完成,如深度函数。虽然也许有些东西我不知道。编辑我的着色器将有资格成为“重做我的数学”。 – AbleArcher 2013-03-21 21:20:11
对不起 - 这就是我所知道的。我相信你仍然可以访问深度缓冲区,但是......我认为这取决于你的着色器决定是否绘制或不在某个像素。让我们希望GL ES 2.0专家编钟:) – nielsbot 2013-03-21 21:23:27