我试图使用glSelectBuffer(GLsizei size,GLuint * buffer)方法以稍微不同的方式选择对象,我相信在C ++ for OpenGL 3.1中支持。如果我按照在线指定的方式完成选择,那么选择效果很好。
而不是GLuint *,我想在选择缓冲区中实际存储指向我自己的图形对象的指针。这将允许我根据包含指向该对象的指针的选择轻松发出信号。这似乎可以在GLuint的大小和指向我的对象(x86)的指针的大小排列时正常工作,但看起来它们会在它们没有时会断开(x64。)
我可以通过另一步完成此操作,但我宁愿不必排列选择ID - >对象指针,如果OpenGL将支持这种选择机制与其他数据类型。
我正在尝试使用OpenGL的选择机制吗? (最好在OpenGL 3.1中,但未来的版本也适用。)
我的问题有意义吗?我在解释中遗漏了什么吗?到目前为止,我已经尝试使选择缓冲区取长而不是整数,并且我收到类型检查错误(如预期的那样)。另外,我没有看到glSelectBuffer()的任何重载方法,这让我觉得这种方法不可能。我查看了gl.h来查看typedef并更多地了解OpenGL的类型。我也在Stack Overflow上查看了类似的问题 - 如果有人提出同样的问题我很抱歉,我很抱歉。
答案 0 :(得分:4)
最好在OpenGL 3.1中,但未来版本也适用
已从OpenGL-3核心及更高版本中删除选择模式。 OpenGL用于绘图,选择模式用于回退到软件模式,即不是HW加速。
我的建议是:不要使用它。