gpt4 book ai didi

Android 深度缓冲问题 : Advice for anyone experiencing problem

转载 作者:太空狗 更新时间:2023-10-29 12:57:35 24 4
gpt4 key购买 nike

这周我浪费了大约 30 个小时来编写和重写代码,我认为我误解了 OpenGL 深度缓冲区的工作原理。我尝试的一切,都失败了。我现在已经通过查找 OpenGL 的 Android 实现中可能存在的错误解决了我的问题。

查看此 API 条目:

http://www.opengl.org/sdk/docs/man/xhtml/glClearDepth.xml

void glClearDepth(GLclampd depth);

Specifies the depth value used when the depth buffer is cleared. The initial value is 1.

Android 的实现有这个命令的两个版本:

  • glClearDepthx 接受一个整数值,固定在 0-1

  • glClearDepthf 需要 float 点值,clamped 0-1

如果您使用 glClearDepthf(1),那么您会得到您期望的结果。如果您像我一样使用 glClearDepthx(1),那么您会得到不同的结果。 (注意 1 是默认值,但是使用参数 1 调用命令产生的结果与根本不调用它产生的结果不同。)我不知道发生了什么,但是深度缓冲区被清除为一个不同于什么的值我已经指定了。

最佳答案

尝试将 65536 传递给 glClearDepthx() .

GLfixed是S15.16定点,所以1.02^1665536表示.

此外,您链接到常规 OpenGL 文档,而不是 OpenGL ES 1.1文档。

关于Android 深度缓冲问题 : Advice for anyone experiencing problem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4704147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com