存儲(chǔ)著色器初始化
// GLShaderManager 的初始化
GLShaderManager shaderManager;
shaderManager.InitializeStockShaders();
單元著色器
GLShaderManager::UserStockShader(
GLT_SHADER_IDENTITY,
GLfloat vColor[4])
參數(shù)1: 存儲(chǔ)著?器種類(lèi)-單元著?器
參數(shù)2: 顏?
使用場(chǎng)景: 繪制默認(rèn)OpenGL 坐標(biāo)系(-1,1)下圖形. 圖形所有片段都會(huì)以一種顏?色填充
平面著色器
GLShaderManager::UserStockShader(
GLT_SHADER_FLAT,
GLfloat mvp[16],
GLfloat vColor[4]);
參數(shù)1: 存儲(chǔ)著?色器器種類(lèi)-平面著?器
參數(shù)2: 允許變化的4*4矩陣
參數(shù)3: 顏?
使用場(chǎng)景:在繪制圖形時(shí), 可以應(yīng)用變換(模型/投影變化)
上色著色器
GLShaderManager::UserStockShader(
GLT_SHADER_SHADED,
GLfloat mvp[16]);
參數(shù)1: 存儲(chǔ)著?器種類(lèi)-上色著?器
參數(shù)2: 允許變化的4*4矩陣
使?用場(chǎng)景: 在繪制圖形時(shí), 可以應(yīng)用變換(模型/投影變化)顏色將會(huì)平滑地插?到頂點(diǎn)之間 稱為平滑著色
.
默認(rèn)光源著色器
GLShaderManager::UserStockShader(
GLT_SHADER_DEFAULT_LIGHT,
GLfloat mvMatrix[16],
GLfloat pMatrix[16],
GLfloat vColor[4]);
參數(shù)1: 存儲(chǔ)著色器種類(lèi)-默認(rèn)光源著?器
參數(shù)2: 模型4 * 4矩陣
參數(shù)3: 投影4 * 4矩陣
參數(shù)4: 顏?值
使用場(chǎng)景: 在繪制圖形時(shí), 可以應(yīng)?變換(模型/投影變化) 這種著?器會(huì)使繪制的圖形產(chǎn)生 陰影和光照的效果.
點(diǎn)光源著色器
GLShaderManager::UserStockShader(
GLT_SHADER_POINT_LIGHT_DIEF,
GLfloat mvMatrix[16],
GLfloat pMatrix[16],
GLfloat vLightPos[3],
GLfloat vColor[4]);
參數(shù)1: 存儲(chǔ)著?器種類(lèi)-點(diǎn)光源著?器
參數(shù)2: 模型4 * 4矩陣
參數(shù)3: 投影4 * 4矩陣
參數(shù)4: 點(diǎn)光源的位置
參數(shù)5: 漫反射顏色值
使用場(chǎng)景: 在繪制圖形時(shí), 可以應(yīng)?變換(模型/投影變化) 這種著?器會(huì)使繪制的圖形產(chǎn)?陰影和光照的效果妆棒。它與默認(rèn)光源著?器?常類(lèi)似,區(qū)別只是光源位置可能是特定的窜护。
紋理替換 矩陣著色器
GLShaderManager::UserStockShader(
GLT_SHADER_TEXTURE_REPLACE,
GLfloat mvMatrix[16],
GLint nTextureUnit);
參數(shù)1: 存儲(chǔ)著?器種類(lèi)-紋理理替換矩陣著?器
參數(shù)2: 模型4 * 4矩陣
參數(shù)3: 紋理單元
使?場(chǎng)景: 在繪制圖形時(shí), 可以應(yīng)?變換(模型/投影變化)這種著?器通過(guò)給定的模型視圖投影矩陣俱病。使?紋理單元來(lái)進(jìn)行顏色填充。其中每個(gè)像素點(diǎn)的顏色是從紋理中獲取滔韵。
紋理調(diào)整著色器
GLShaderManager::UserStockShader(
GLT_SHADER_TEXTURE_MODULATE,
GLfloat mvMatrix[16],
GLfloat vColor[4],
GLint nTextureUnit);
參數(shù)1: 存儲(chǔ)著?色種類(lèi)-紋理理調(diào)整著?器
參數(shù)2: 模型4 * 4矩陣
參數(shù)3: 顏色值
參數(shù)4: 紋理單元
使?場(chǎng)景: 在繪制圖形時(shí), 可以應(yīng)用變換(模型/投影變化)這種著色器通過(guò)給定的模型視圖投影矩陣. 著色器將一個(gè)基本色乘以一個(gè)取?自紋理單元 nTextureUnit 的紋理.將顏?與紋理進(jìn)行顏?混合后才填充到?段中.
紋理光源著色器
GLShaderManager::UserStockShader(
GLT_SHADER_TEXTURE_POINT_LIGHT_DIEF,
GLfloat mvMatrix[16],
GLfloat pMatrix[16],
GLfloat vLightPos[3],
GLfloat vBaseColor[4],
GLint nTextureUnit);
參數(shù)1: 存儲(chǔ)著?器種類(lèi)-紋理光源著?器
參數(shù)2: 模型4 * 4矩陣
參數(shù)3: 投影4 * 4矩陣
參數(shù)4: 點(diǎn)光源位置
參數(shù)5: 顏?值(幾何圖形的基本色)
參數(shù)6: 紋理單元
使?場(chǎng)景: 在繪制圖形時(shí), 可以應(yīng)?變換(模型/投影變化)這種著色器通過(guò)給定的模 型視圖投影矩陣. 著?器將?一個(gè)紋理通過(guò)漫反射照明計(jì)算進(jìn)?調(diào)整(相乘).