opengl:右手坐標系,矩陣列優(yōu)先
1低淡,創(chuàng)建著色器對象
glCreateShader
2凌净,著色器對象關聯(lián)著色器代碼
glShaderSource
3什荣,把著色器源代碼編譯成目標代碼
glCompileShader
4,驗證著色器是否已經(jīng)編譯通過
glGetShaderiv
glGetShaderInfoLog
5商虐,創(chuàng)建一個著色器程序
glCreateProgram
6觉阅,把著色器鏈接到著色器著色器程序中
glAttachShader
7崖疤,鏈接著色器程序
glLinkProgram
8,驗證著色器程序是否鏈接成功
glGetProgramiv
glGetProgramInfoLog
9典勇,使用著色器程序進行定點或片段處理
glUseProgram
縮放
Cocos2dx中劫哼,GLProgramCache類負責初始化并且保存Shader程序,并且為需要渲染的元素提供需要的Shader程序
uniform類型
sampler2D
vec2
vec3
vec4
mat4
uniform vec2 u_XXX[25];
中間輸入的變量有v_texCoord
v_fragmentColor
最終顯示為gl_FragColor
采用texture2D(sampler2D, vec2)獲取坐標元素值
操作:
dot()
OpenGL ES 2.0 Shader
1)加載shader
2)獲取指向頂點著色器相應數(shù)據(jù)的Index
3)根據(jù)Index向頂點著色器中傳遞數(shù)據(jù)
著色語言是類C語言割笙,支持類型有限
支持的類型有:
float bool int
vec2 vec3 vec4
ivec2 ivec3 ivec4
bvec2 bvec3 bvec4
mat2 mat3 mat4
采樣器sampler1D sampler2D sampler3D
OpenGL渲染管線
OpenGL是個狀態(tài)機
編寫Shader的語言為GLSL語言
GLSL著色器代碼分為兩個部分:vertex shader ? fragment shader
有時還會有geometry shader
gl_Color
http://blog.csdn.net/racehorse/article/details/6638455