<分区>
OpenGL 3.x 与 2.x 之间是否存在巨大差异?学习 OpenGL 2.x 是浪费时间还是它们都遵循相同的概念?我想我在某处读到 2.x 是基于状态的,而 3.x 不是,对吗?
<分区>
OpenGL 3.x 与 2.x 之间是否存在巨大差异?学习 OpenGL 2.x 是浪费时间还是它们都遵循相同的概念?我想我在某处读到 2.x 是基于状态的,而 3.x 不是,对吗?
最佳答案
小心点。 OpenGL 3 弃用了很多功能,尤其是 OpenGL 早期的功能。如果您从过时的教程开始(像大多数 NeHe 一样),您很可能会习惯 OpenGL 2 的过时风格。
OpenGL 3 中没有固定的功能管道(如果您不使用向后兼容功能)。你必须使用着色器。不再有 glBegin/glEnd。您必须使用顶点缓冲区。两者都已在 OpenGL 2 中可用,但大多数教程都是从 glBegin/glEnd 和设置 OpenGL 颜色属性开始的。这是一个非常重要的区别。
OpenGL 2 提供了无数种在屏幕上放置内容的方法,每种方法都至少包含一个流行教程。 OpenGL 3 放弃了其中的许多功能,包括 OpenGL 2 的“初学者子集”(固定函数 glBegin/glEnd)。因此,如果您希望长期以 OpenGL 3 为目标,请从一开始就为之努力。没有什么比陷入死胡同更令人沮丧的了。
关于c - 跳过 OpenGL 2.X 并开始学习 OpenGL 3.X 是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282041/