我无法在iOS 5上使用MonoTouch获得深度缓冲区。我使用了标准的MonoTouch "OpenGL应用程序“模板,并添加了以下代码来测试深度缓冲区(OpenGL ES 1.1):GL.DepthFunc即使是"GL.DepthFunc(All.Never)“也会发生同样的事情。深度缓冲区将被完全忽略。我还尝试使用下面的代码手动创建一个深度缓冲区<
据我所知,我们不能读取OpenGL ES 2.0中的Z(深度)值。所以我想知道如何从2D屏幕上的一个点获得3D世界坐标?
实际上,我有一些随机的想法可能会起作用。既然我们可以使用glReadPixels读取RGBA值,不如我们复制深度缓冲区并将其存储在颜色缓冲区(比如ColorforDepth)中。当然,需要一些很好的约定,这样我们才不会丢失深度缓冲区的任何信息。
我正在尝试使用来自GenFramebuffers的OpenTK函数。在本机OpenGL中,此函数需要生成许多帧缓冲区名称,并需要一个指向将存储名称的int的指针。但是OpenTK变量需要一些名称来生成和一个 out Int32参数。下面是OpenTK函数的源代码: {为了确保,我实际上用n=2尝试了它,