随笔分类 - OpenGL
摘要:Vertex Shader 是渲染管道中一个可编程的模块,用于处理独立的顶点。Vertex Shader接收Vertex Attribute Data,由定点数组对象通过渲染指令来生成。Vertex Shader 从顶点流中接收一个顶点,处理后输出到output顶点流。它们必须是1对1的关系。htt...
阅读全文
摘要:VBO(顶点缓冲区对象),允许应用程序迅速方便地将数据从一个渲染管线移动到另一个渲染管线,以及从一个对象绑定到另一个对象,数据也摆脱了强类型对象的束缚。所有对glBufferData的调用都和其他的绘制调用一起通过管线进行处理,so OpenGL实现不需要等待所有活动停止,就可以将数据发送到GPU。...
阅读全文
摘要:纹理坐标作为属性传递到顶点着色器texture是OPENGL对象,包含一张或多张相同格式的图片。它有2中用途:the source of a texture access from aShaderbe used as a render target.
阅读全文
摘要:用户定义的属性变量都是全局变量,与OpenGL应用程序传递给在OpenGL实现内部执行的顶点着色器的值相关联1.获取位置索引GLintglGetAttribLocation (GLuint program, const GLchar* name)2.显式设置属性voidglBindAttribLocation (GLuint program, GLuint index, const GLchar* name)必须在着色器程序被链接之前执行3.设置属性voidglVertexAttrib{1234}f (GLuint indx, TYPE value)voidglVertexAttrib{123
阅读全文
摘要:着色器统一值属性是每个顶点位置,表面法线和纹理坐标等都需要的,而统一值则用于为整个图元批次向保持不变的着色器传递数据。对于顶点着色器来说,可能最普遍的统一值就是变换矩阵。一个统一值在一个图元的绘制过程中是不变的,所以其值不能在glBegin和glEnd之间设置的uniform限定了表示一个变量的值将由应用程序在着色器执行之前指定,并且在图元的处理过程中不会发生变化。uniform变量是由顶点着色器和片段着色器共享的,他们必须声明为全局变量。1.寻找统一值当GLSL编译器链接到着色器程序后,它会创建一个表格,其中包含了所有的uniform变量,通过此函数能获取到该变量在表中的索引值GLintgl
阅读全文
摘要:GL_AMBIENT 环境光,无方向,所有面都受影响GL_DIFFUSE 散射光, 定向光GL_SPECULAR 高光
阅读全文
摘要:A renderbuffer is a data storage object containing a single image of a renderable internal format.(参考http://www.opengl.org/registry/specs/EXT/frame...
阅读全文

浙公网安备 33010602011771号