五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

OpenGL實例教程05:uniform變量

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

什么是uniform變量?

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

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

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

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

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

uniform變量于動畫

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

shader代碼

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

應(yīng)用程序代碼

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

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

運行效果


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

分享到微博請遵守國家法律
乌鲁木齐市| 车致| 平定县| 汉阴县| 丹东市| 洪江市| 新乡县| 阳西县| 长沙县| 土默特左旗| 措美县| 长岛县| 西峡县| 梧州市| 通城县| 衢州市| 黄骅市| 虞城县| 左权县| 兰溪市| 博罗县| 南昌市| 苏尼特左旗| 田阳县| 郓城县| 凤城市| 洛隆县| 鹤峰县| 二连浩特市| 越西县| 瓦房店市| 阿合奇县| 增城市| 嘉祥县| 额尔古纳市| 汝州市| 环江| 岱山县| 于都县| 达州市| 吉林省|