c - 跳过 OpenGL 2.X 并开始学习 OpenGL 3.X 是否更好?

标签 c opengl 3d

<分区>

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/

相关文章:

客户端读取的字节少于服务器在套接字上发送的字节

opengl - 有没有办法在用三角形带绘制的网格上实现类似行进正方形的东西?

c++ - 除非旋转为 0 度或 180 度,否则物体不会朝它所面对的方向移动

c++ - 为什么 wgluseFontBitmaps 在某些计算机上消耗过多内存?

opengl - 各种OpenGL函数的相对成本?

math - 3D图形处理-如何计算模型 View 矩阵

c++ - 正确更新顶点缓冲对象

python - OSX 的 Cython 链接错误

c - 如何从内核中获取总物理内存

C Hello world : Code Blocks IDE, Windows 上的 MinGW C 编译器