最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

Uniform

2023-08-03 19:04 作者:追逐彗星的尾巴  | 我要投稿

uniform是一個(gè)關(guān)鍵字,用于在著色器中聲明全局變量。這意味著它必須在每個(gè)著色器程序?qū)ο笾卸际仟?dú)一無(wú)二的。uniform變量可以從CPU端傳遞給GPU端,并在渲染過(guò)程中保持不變,即在一次繪制調(diào)用期間,uniform變量的值是不會(huì)改變的。

使用一個(gè)uniform變量通常需要以下步驟:

I.在著色器程序中使用uniform關(guān)鍵字來(lái)聲明變量。

II.在應(yīng)用程序中獲取uniform變量的位置。

III.為uniform變量設(shè)置一個(gè)值,這樣它就會(huì)在渲染時(shí)保持該值。

下面讓我們?cè)囍ㄟ^(guò)uniform來(lái)為圖形設(shè)置顏色。

我們?cè)谄沃髦新暶髁艘粋€(gè)uniform的vec4類(lèi)型的全局變量u_color,并把片段著色器的輸出顏色設(shè)置為uniform值的內(nèi)容。

uniform變量的值是通過(guò)函數(shù)glUniform*()來(lái)設(shè)置的。glUniform*()是一系列函數(shù)。由于u_color是vec4,這里我們使用glUniform4f(),表示函數(shù)需要4個(gè)float類(lèi)型的值來(lái)設(shè)定uniform變量。

第一個(gè)參數(shù)是uniform變量的位置。我們需要使用函數(shù)glGetUniformLocation()來(lái)查詢(xún)我們創(chuàng)建的uniform變量的位置。

第一個(gè)參數(shù)是我們創(chuàng)建的著色器程序,第二個(gè)參數(shù)是uniform變量的名字。如果函數(shù)返回-1表示沒(méi)有找到這個(gè)位置值。

下面是使用示例:

注意:在使用uniform之前必須先調(diào)用glUseProgram()。因?yàn)樗窃诋?dāng)前激活的著色器程序中設(shè)置uniform的。

使用uniform的好處是我們可以在隨時(shí)更新變量的值。譬如我們可以把顏色中的紅色通道設(shè)置成一個(gè)隨時(shí)間變化的變量,這樣每次渲染時(shí)顏色都會(huì)發(fā)生改變。

Uniform的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
威信县| 祥云县| 瑞丽市| 项城市| 盐亭县| 莒南县| 庐江县| 苏尼特右旗| 福贡县| 尼勒克县| 遂川县| 乌拉特前旗| 雅安市| 梁平县| 海门市| 当阳市| 喀喇| 馆陶县| 迁西县| 凉山| 阜康市| 新晃| 日喀则市| 中宁县| 银川市| 锡林浩特市| 深水埗区| 中西区| 弥渡县| 安仁县| 南岸区| 于都县| 鹰潭市| 冷水江市| 叶城县| 苍山县| 龙川县| 寿宁县| 沈阳市| 永福县| 莱阳市|