0
我有问题。 是否有可能拥有两个顶点着色器。人们将在2D中查看顶点,在3D中查看顶点。 目前我的程序有2D视图。 2d和3d顶点之间唯一的区别是,3dc中的vec2(x,y)将会是vec3(x,y,z)。所以我想发送到GPU vec3并设置gl_Position.z = 0;Opengl在2D或3D中显示顶点
我最大的问题是我选glm的幻数:lookat和glm :: perspective。如果我看到它的意思就是说它有效。所以当我有2D和3D视图时,一切都看起来很糟糕。 我可以移动相机,这样做3d和相机的位置改变只会不会工作。
嗯,但我会有问题。因为如果添加hight(z)。即使我在放大地图前设置视图,我会看到这不是2D。 – Luffy
@Luffy:你可以随时切换到正射投影,如果你需要一个。您可能将您的投影矩阵设置放置在重塑处理程序中。我建议你将调用glViewport和投影设置移动到显示处理程序。你可以多次打电话给他们。使用glViewport + glScissor将窗口变成多个窗格。 – datenwolf
我没有重塑处理程序,但我会尝试阅读关于此。我正在以简单的方式做这件事,我计算x,y绘制它们。我只使用本教程中的内容http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/ – Luffy