0

不确定将 GLSL 数据类型和函数用于向量和矩阵计算是否是个好主意,即使我不打算在我的程序中使用 GLSL。GLSL 是 OpenGL 附带的东西,所以我不需要制作自己的简单矢量/矩阵类或从另一个 libaray 借来执行此操作,但我对它在通用 OpenGL 操作中的可用性了解不够。

你如何使用 GLSL?您是否只包含 gl.h 并访问 vec3 和交叉函数?我需要写下点、交叉和函数的类名吗?(像 std::vector 一样,每次调用这些函数时都需要 gl::cross 吗?)

GLSO 数据类型是否与基本的 OpenGL 函数(如 glColor、glVertex 和 glTranslate)兼容?

我已经看到 GLSL 等效于 glVertex3f 和其他基本 OpenGL 函数,但它们只是简单的替换还是有其他要求?我对 OpenGL 仍然不是很好,主要依赖 GLUT,我不知道 GLSL 将如何与 GLUT 融合

4

2 回答 2

2

GLSL 是一种完全不同的语言,与您的程序分开编译,所以,您不能在 OpenGL 中使用它的数据类型。看看GLM

glVertex3f另外,请注意在 GLSL中不存在任何等价物;GLSL 在顶点着色器阶段开始处理,这是您向程序提供顶点数据之后。

于 2013-01-18T15:42:42.623 回答
1

你如何使用 GLSL?

GLSL 是用于实现着色器的完全独立的语言。着色器是由 OpenGL 实现编译并在 OpenGL 渲染器中执行的程序。GLSL 不是您在宿主程序中使用的东西。

对于向量数学的主机端,有几个库:

或者,仍处于开发初期

您是否只包含 gl.h 并访问 vec3 和交叉函数?

这不是它的工作原理。

于 2013-01-18T16:00:59.170 回答