在OpenGL中绘制3D长方体并旋转它

sy5wg1nm  于 2022-11-04  发布在  其他
关注(0)|答案(1)|浏览(217)

我试图通过单击一个角点,然后根据用户提供的尺寸将其延伸,然后绕任意轴旋转来绘制一个3D长方体。但是,我不确定如何在鼠标单击后指定(x,y,z)元组,因为输出窗口是2D的。而且,我不知道如何延伸该点以形成长方体。

uttx8gqw

uttx8gqw1#

您需要的是所谓的3D拾取。通常,这是使用光线投射完成的。
但是,有一个简单的解决方案(具有可接受的性能),该解决方案涉及在帧缓冲区中渲染屏幕外的场景,其中R/G/B值为32位浮点。
在着色器中,您可以使用该像素的x、y和z坐标作为颜色值。
然后,当用户单击某个位置时,您只需读出该像素的颜色以获得其位置。

相关问题