近阶段简单的学习了GLSL,对于很多新手,可能主要就是GLSL中shader与opengl之间的变量传递问题存在障碍,下面把学习的笔记晒一晒,希望能帮助大家。
刚开始写博客,欢迎大家提意见和拍砖!
输出类型:
vertex shader :gl_Position
Fragment shader :gl_FragColor gl_FragDepth
1、属性数据 attribute 顶点属性,向vertex shader中传递
1、默认内置属性数据 gl_Color gl_Normal gl_Vertex gl_TextCoord,这些顶点属性由opengl程序向shader中发送
在vertex shader中可以直接调用gl_Color这样的写法
2、自定义属性
//attribute
int my_vec3_location = glGetAttribLocationARB(my_program,“my_3d_vector”);//定义一个my_3d_vector的量,每 个顶点设置它的值
glBegin(GL_TRIANGLES);