Cocos creator 2.1以后引入了3D渲染的底層,所以引入了Shader和材質系統,比如精靈,下面有一個材質,?材質又選了一個Shader;
1:?什么是Shader和材質?
???Shader是一種給顯卡GPU執行的程序,?是一種繪制算法,顯卡的渲染流水線加載Shader代碼后,就能夠在繪制的時候執行Shader的代碼。Cocos 有自己的一個Shader的結構,Shader的開發語言cocos使用的是GLSL編程語言。
???材質是一種配置文件,選好一個Shader,并指定好這個Shader所需要的參數;
2: cocos 物體是如何繪制的?
??以Sprite組件為例,它有一個材質,這個時候繪制圖片的時候,就使用這個材質,通過材質渲染管道準備好算法,和參數,這樣,渲染管道就繪制出來。
2: 完整的Shader渲染流程(pass)
3: cocos Shader的結構
???1: 描述部分
??????頂點shader在哪里,著色shader在哪里?材質上的參數定義哪些,這個是描述部分。
2: 頂點Shader部分:
3: 著色Shader部分:
4: GLSL常用的概念:
GLSL變量精度級別:?highp, mediump, lowp (高, 中, 低)
attribute: 渲染管道傳過來的數據, 只能在頂點Shader中使用;
varying: vectex Shader, frag Shader 的傳遞變量
uniform: ?外部程序可以來設置的變量;
如果需要完整cocos?creator Shader的同學,可以聯系我點擊鏈接加入群聊【Unity/Cocos交流群】