Opengl 以 2D 或 3D 显示顶点



我有问题。是否可以有两个顶点着色器。一个将在 2D 中查看顶点,另一个将在 3D 中查看顶点。目前我的程序具有2D视图。2d 和 3d 顶点之间的唯一区别是3D 中的 VEC2(x,y) 将 vec3(x,y,z)。所以我正在考虑发送到 gpu vec3 并设置 gl_Position.z=0;

最大的问题是我为 glm:lookat 和 glm::p erspective 选择了幻数。如果我看到一些东西,这意味着它有效。因此,当我拥有2d和3d视图时,一切看起来都很糟糕。我可以移动相机,所以做 3d 和改变相机的位置是行不通的。

不,这是不可能的。但是,您始终可以多次渲染相同的几何体,但应用不同的 glViewport 和投影矩阵。这是渲染 3D 编辑器的经典"顶部、正面、侧面、透视"视图的规范方法。

最大的问题是我为 glm:lookat 和 glm::p erspective 选择了幻数。

好吧,然后我会解决这个问题,而不是使用神奇的数字来创造所需的效果。

最新更新