創(chuàng)建著色器的統(tǒng)一方法,傳入不同的參數(shù),可以創(chuàng)建不同的著色器
GLShaderManager:: UserStockShader(xxx, xxxx, ...);
1、單元著色器
GLShaderManager:: UserStockShader(GLT_SHADER_IDENTITY, GLfloat vColor[4]);
參數(shù)1 GLT_SHADER_FLAT: 存儲著色器種類-平面著色器
參數(shù)2 GLfloat vColor[4]:顏色值
使用場景:繪制默認OpenGL坐標系(-1,1)下圖形,圖形所有片段都會以一種顏色填充
2、平面著色器
GLShaderManager:: UserStockShader(GLT_SHADER_FLAT,GLfloat mvp[16], GLfloat vColor[4]);
參數(shù)1 GLT_SHADER_FLAT: 存儲著色器種類-平面著色器
參數(shù)2 GLfloat mvp[16]: 允許變化的4*4矩陣
參數(shù)3 GLfloat vColor[4]:顏色值
使用場景:在繪制圖形時候,可以應(yīng)用變換(模型、投影變化)
3、上色著色器
GLShaderManager:: UserStockShader(GLT_SHADER_SHADED,GLfloat mvp[16]);
參數(shù)1 GLT_SHADER_FLAT: 存儲著色器種類-平面著色器
參數(shù)2 GLfloat mvp[16]: 允許變化的4*4矩陣
使用場景:在繪制圖形時候,可以應(yīng)用變換(模型/投影變化),顏色建輝平滑的插入到頂點之間稱為平滑著色。
4、默認光源著色器
GLShaderManager:: UserStockShader(GLT_SHADER_DEFAULT_LIGHT,GLfloat mvp[16]);
參數(shù)1: 存儲著色器種類-默認光源著色器
參數(shù)2: 模型4*4矩陣
參數(shù)3: 投影4*4矩陣
參數(shù)4: 顏色值
使用場景:在繪制圖形時, 可以應(yīng)?用變換(模型/投影變化) 這種著?器會使繪制的圖形產(chǎn)生 陰影和光照的效果
5. 點光源著色器
GLShaderManager::UserStockShader(GLT_SHADER_POINT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vColor[4]);
使用場景:在繪制圖形時, 可以應(yīng)?用變換(模型/投影變化) 這種著色器會使繪制的圖形產(chǎn)生陰影和光照的效果.它與默認光源著?器?常類似,區(qū)別只是光源位置可能是特定的.
參數(shù)1: 存儲著?器種類-點光源著色器
參數(shù)2: 模型4*4矩陣
參數(shù)3: 投影4*4矩陣
參數(shù)4: 點光源的位置
參數(shù)5: 漫反射顏色值
6. 紋理替換矩陣著色器
GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_REPLACE,GLfloat mvMatrix[16],GLint nTextureUnit);
使用場景:在繪制圖形時, 可以應(yīng)用變換(模型/投影變化)這種著?器通過給定的模型視圖投影矩陣.使用紋理單元來進行顏?填充.其中每個像素點的顏色是從紋理中獲取 參數(shù)1: 存儲著?器種類-紋理替換矩陣著?器
參數(shù)2: 模型4*4矩陣
參數(shù)3: 紋理單元
7. 紋理調(diào)整著色器
GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_POINT_LIGHT_DIEF,G Lfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vBaseColor[4],GLint nTextureUnit);
使用場景:在繪制圖形時, 可以應(yīng)用變換(模型/投影變化)這種著?器通過給定的模型視圖投影矩陣. 著?器將一個紋理通過漫反射照明計算進行調(diào)整(相乘).
參數(shù)1: 存儲著?器種類-紋理光源著?器
參數(shù)2: 模型4*4矩陣
參數(shù)3: 投影4*4矩陣
參數(shù)4: 點光源位置
參數(shù)5: 顏色值(?何圖形的基本色)
參數(shù)6: 紋理單元
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。