Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GLSL与openGL2安装问题_Opengl - Fatal编程技术网

GLSL与openGL2安装问题

GLSL与openGL2安装问题,opengl,Opengl,我正在尝试将GLSL与OpenGL2.0结合使用 谁能给我一个好的教程,让我遵循,以便我可以正确设置GLSL 问候 Zeeshan根据你想要达到的目标和你目前的知识,你可以采取不同的方法 如果您试图在学习GLSL的同时学习OpenGL2.0,我建议将和作为一个集合,因为它们是齐头并进的 如果你想要一个不太全面的指南,只需要开始,请查看 如果我误解了您的问题,并且您已经了解OpenGL,并且想学习更多关于GLSL的知识,那么下面是一个很好的示例,展示了基本知识 编译着色器源代码非常简单 首先,需要

我正在尝试将GLSL与OpenGL2.0结合使用

谁能给我一个好的教程,让我遵循,以便我可以正确设置GLSL

问候
Zeeshan

根据你想要达到的目标和你目前的知识,你可以采取不同的方法

如果您试图在学习GLSL的同时学习OpenGL2.0,我建议将和作为一个集合,因为它们是齐头并进的

如果你想要一个不太全面的指南,只需要开始,请查看

如果我误解了您的问题,并且您已经了解OpenGL,并且想学习更多关于GLSL的知识,那么下面是一个很好的示例,展示了基本知识

编译着色器源代码非常简单

首先,需要为源分配着色器槽,就像分配纹理一样,使用:

之后,您需要以某种方式加载源代码。由于这实际上是一个依赖于平台的解决方案,所以这取决于您

获取源后,可以使用以下方法进行设置:

然后使用以下工具编译源代码:

将着色器彼此链接,首先使用分配程序,使用将着色器附加到程序中,然后使用以下方法链接它们:

然后,就像纹理一样,使用以下命令将其绑定到当前渲染阶段:

要解除绑定,请使用id 0或其他着色器id

清理:

glDetachShader(shaderId, vtxShader);
glDetachShader(shaderId, pxlShader);

glDeleteShader(vtxShader);
glDeleteShader(pxlShader);

glDeleteProgram(shaderId);

这就是它的主要内容,您也可以使用函数族和来设置参数。

根据您试图实现的目标和您当前的知识,您可以采取不同的方法

如果您试图在学习GLSL的同时学习OpenGL2.0,我建议将和作为一个集合,因为它们是齐头并进的

如果你想要一个不太全面的指南,只需要开始,请查看

如果我误解了您的问题,并且您已经了解OpenGL,并且想学习更多关于GLSL的知识,那么下面是一个很好的示例,展示了基本知识

编译着色器源代码非常简单

首先,需要为源分配着色器槽,就像分配纹理一样,使用:

之后,您需要以某种方式加载源代码。由于这实际上是一个依赖于平台的解决方案,所以这取决于您

获取源后,可以使用以下方法进行设置:

然后使用以下工具编译源代码:

将着色器彼此链接,首先使用分配程序,使用将着色器附加到程序中,然后使用以下方法链接它们:

然后,就像纹理一样,使用以下命令将其绑定到当前渲染阶段:

要解除绑定,请使用id 0或其他着色器id

清理:

glDetachShader(shaderId, vtxShader);
glDetachShader(shaderId, pxlShader);

glDeleteShader(vtxShader);
glDeleteShader(pxlShader);

glDeleteProgram(shaderId);
这就是它的主要内容,你可以使用函数族和设置参数

glCompileShader(vtxShader);
glCompileShader(pxlShader);
GLuint shaderId = glCreateProgram();
glAttachShader(shaderId, vtxShader);
glAttachShader(shaderId, pxlShader);
glLinkProgram(shaderId);
glUseProgram(shaderId);
glDetachShader(shaderId, vtxShader);
glDetachShader(shaderId, pxlShader);

glDeleteShader(vtxShader);
glDeleteShader(pxlShader);

glDeleteProgram(shaderId);