我有疑问。 是否可以有两个顶点着色器。一个将在2D中查看顶点,在3D中查看第二个顶点。 目前我的程序有2D视图。 2d和3d中顶点之间的唯一区别就是那个 3d中的vec2(x,y)将为vec3(x,y,z)。所以我正在考虑发送到gpu vec3并设置gl_Position.z = 0;
我最大的问题是我为glm:lookat和glm :: perspective选择了魔术数字。如果我看到它意味着它有效。因此,当我有2d和3d视图时,一切看起来都很糟糕。 我可以移动相机这样做3d并且改变相机的位置只会不起作用。
答案 0 :(得分:1)
不,这是不可能的。但是您可以多次渲染相同的几何体,但应用了不同的glViewport和投影矩阵。这是渲染3D编辑器的经典“顶部,正面,侧面,透视”视图的规范方法。
我最大的问题是我为glm:lookat和glm :: perspective选择了魔术数字。
那么,我会解决这个问题,而不是神奇的数字使用实际的数学来创造所需的效果。