但是现在就有另一个问题:既然可以这样选取,那么proE应该也是利用openGL的Zbuffer技术实现该功能的,即屏幕上同一个像素可能具有不同的Z坐标值,根据不同的Z坐标切换同一个像素处不同的选项。
一般来说,模型在屏幕上所显示的各像素都有不同的z坐标,没有显示模型的区域,各像素的Z坐标是1。但是当我用openGL的函数glReadPixels读取各像素Z坐标时,所返回的所有值却都是1,不知道什么原因。而同样的函数却可以从UG的模型窗口正确读取Z坐标。折腾了好几天了,一直搞不定,大虾们能否给些提示,非常感谢。
以下是代码:
const int width=1024;
const int height=768;
float z[width*height];
glReadPixels(0,0,width,height,GL_DEPTH_COMPONENT,GL_FLOAT, z);
本帖最后由 lijz 于 2009-5-12 21:40 编辑 |