本文介紹了OpenGL ES著色器使用的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
1.著色器語言
著色器語言是一種高級圖形編程語言,和C/C++語言很類似,但存在很大差別,比如,不支持double,byte
,short,不支持unin,enum,unsigned以及位運(yùn)算等,但其加入了很多原生的數(shù)據(jù)類型,如向量,矩陣等。
數(shù)據(jù)類型可分為標(biāo)量、向量、矩陣、采樣器、結(jié)構(gòu)體、數(shù)組等
向量
向量傳遞參數(shù),如果只提供一個(gè)標(biāo)量,這個(gè)值用于設(shè)置所有向量的值;如果輸入是多個(gè)標(biāo)量或者是矢量,從左到右設(shè)置矢量變量的參數(shù),如果多個(gè)矢量作為參數(shù),那么至少要有和變量一樣多的分量
vec4 myVec4 = vec4(1.0); // myVec4 = {1.0, 1.0, 1.0, 1.0} vec3 myVec3 = vec3(1.0, 0.0, 0.5); // myVec3 = {1.0, 0.0, 0.5} vec3 temp = vec3(myVec3); // temp = myVec3 vec2 myVec2 = vec2(myVec3); // myVec2 = {myVec3.x, myVec3.y} myVec4 = vec4(myVec2, temp); // myVec4 = {myVec2.x, myVec2.y, temp.x, temp.y}