国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

OpenGL實例教程05:uniform變量

2023-02-24 15:35 作者:阿西拜-江西  | 我要投稿

什么是uniform變量?

uniform變量是shader中使用的一種變量類型。用于應用程序?qū)?shù)據(jù)傳送給著色器。

屬性變量和uniform變量有什么區(qū)別?

  • 屬性變量包含的數(shù)據(jù)專用于某一個頂點,每一次著色器調(diào)用都會從頂點緩沖區(qū)中加載一個新的值,而uniform變量在一次繪制過程中是常量,不可以被修改。

    • 屬性變量存儲的是按頂點變化的值。例如:頂點坐標,頂點顏色,頂點法線值等等。

    • uniform變量適合用于存儲按幀變化,或不變化的值。例如:光照參數(shù)(光照位置和方向等)、變換矩陣等等。

uniform變量于動畫

uniform變量的值是按幀變化的。因此,可以用于動畫效果制作。例如,我們可以對頂點著色器的所有頂點都乘以一個縮放值,而該縮放值為uniform變量,這樣就可以在OpenGL應用程序中按動畫的需要設(shè)置這個值。可以寫一個大循環(huán),或是定時器程序,或是利用其他技術(shù)手段改變uniform變量并要求顯卡重新繪制。

shader代碼

每一個頂點會執(zhí)行一次頂點著色器,但在單次繪制過程中uniform變量保持不變:

應用程序代碼

通過改變Scale變量的值改變?nèi)切蔚捻旤c位置,通過sinf的使用確保值在-1到+1之間變化。為了產(chǎn)生動畫,我們在回調(diào)函數(shù)中加入了一條語句:glutPostRedisplay();

因為目前我們的回調(diào)函數(shù)只在窗口發(fā)生變化時被執(zhí)行,因此需要通過該語句發(fā)送一個重新繪制的請求。當然也可以采用循環(huán),或定時器的方式產(chǎn)生動畫。

運行效果


OpenGL實例教程05:uniform變量的評論 (共 條)

分享到微博請遵守國家法律
九龙坡区| 洪江市| 特克斯县| 庆阳市| 根河市| 常宁市| 望城县| 水城县| 西平县| 广河县| 甘谷县| 来凤县| 开鲁县| 郎溪县| 井陉县| 田阳县| 桦甸市| 墨玉县| 兴山县| 鹤峰县| 恩平市| 凤山县| 黄骅市| 五常市| 榕江县| 沭阳县| 黎平县| 资阳市| 巴林右旗| 惠来县| 南涧| 徐州市| 济源市| 永新县| 来宾市| 微山县| 新兴县| 府谷县| 崇礼县| 灯塔市| 峡江县|