小編給大家分享一下three.js著色器材質(zhì)的內(nèi)置變量是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
什么是著色器?
固定渲染管線(xiàn): ——標(biāo)準(zhǔn)的幾何&光照(T&L)管線(xiàn),功能是固定的,它控制著世界、視、投影變換及固定光照控制和紋理混合。T&L管線(xiàn)可以被渲染狀態(tài)控制,矩陣,光照和采制參數(shù)。如果有了固定渲染管線(xiàn),編寫(xiě)程序就比較容易了,因?yàn)樗械淖儞Q都是由固定渲染管線(xiàn)來(lái)完成的,但是缺點(diǎn)就是自由度低。固定渲染管線(xiàn)只能完成一些最基本的操作,如果想要做一些特殊的處理,就比較麻煩了。
可編輯渲染管線(xiàn):——WebGL中不存在固定渲染管線(xiàn),坐標(biāo)變換必須全部由自己來(lái)做,這個(gè)記述了坐標(biāo)變換的機(jī)制就叫做著色器(Shader),這樣可以由程序員控制的機(jī)制叫做可編輯渲染管線(xiàn)。而著色器又有 處理幾何圖形頂點(diǎn)的頂點(diǎn)著色器和處理像素的片段著色器兩種類(lèi)型。由于WebGL中沒(méi)有固定管線(xiàn),所以必須準(zhǔn)備好頂點(diǎn)著色器和片段著色器。
這篇郭先生說(shuō)一下three.js著色器的內(nèi)置變量,分別是
他們或者單個(gè)出現(xiàn)在著色器中,或者組團(tuán)出現(xiàn)在著色器中,是著色器的靈魂。下面來(lái)分別說(shuō)一說(shuō)他們的意義和用法。
1. gl_PointSize
gl_PointSize內(nèi)置變量是一個(gè)float類(lèi)型,在點(diǎn)渲染模式中,頂點(diǎn)由于是一個(gè)點(diǎn),理論上我們并無(wú)法看到,所以他是以一個(gè)正對(duì)著相機(jī)的正方形面表現(xiàn)的。使用內(nèi)置變量gl_PointSize主要是用來(lái)設(shè)置頂點(diǎn)渲染出來(lái)的正方形面的相素大?。J(rèn)值是0)。
void main() { gl_PointSize = 10.0; }