Material和Shader是什麼,二者有什麼關係?

Shader是Material的一部分。程序上是叫着色器,是根據計算 即時演算 生成貼圖的程序。經常用來處理那些沒法用固定貼圖表現的模型 ,好比玻璃,水面等等。其實是一小段程序,它負責將輸入的Mesh(網格)以指定的方式和輸入的貼圖或者顏色等組合做用,而後輸出。ide

Materail是模型的材質。是頂端的了,包含貼圖,shader,凹凸等消息。開發

shader和Material的基本關係it

Shader(着色器)實際上就是一小段程序,它負責將輸入的Mesh(網格)以指定的方式和輸入的貼圖或者顏色等組合做用,而後輸出。繪圖單元能夠依據這個輸出來將圖像繪製到屏幕上。輸入的貼圖或者顏色等,加上對應的Shader,以及對Shader的特定的參數設置,將這些內容(Shader及輸入參數)打包存儲在一塊兒,獲得的就是一個Material(材質)。以後,咱們即可以將材質賦予合適的renderer(渲染器)來進行渲染(輸出)了。
因此說Shader並無什麼特別神奇的,它只是一段規定好輸入(顏色,貼圖等)和輸出(渲染器可以讀懂的點和顏色的對應關係)的程序。而Shader開發者要作的就是根據輸入,進行計算變換,產生輸出而已。class

相關文章
相關標籤/搜索