色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

shader之間傳遞值用的變量類型

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:李倩 ? 2018-04-03 14:39 ? 次閱讀

shader的使用流程:

1. 編寫(xiě)vertex Shader和fragment shader源碼。

2. 創(chuàng)建兩個(gè)shader 實(shí)例:GLuint glCreateShader(GLenum type); [gl.createShader]

3. 給Shader實(shí)例指定源碼。 glShaderSource [gl.shaderSource]

4. 編譯shaer源碼 void glCompileShader(GLuint shader) [gl.compileShader]

5. 創(chuàng)建shader program -- GLuint glCreateProgram(void) [gl.createProgram]

6. 綁定shader到program 。 void glAttachShader(GLuint program, GLuint shader)。每個(gè)program必須綁定一個(gè)vertex shader 和一個(gè)fragment shader。 [gl.attachShader]

7. 鏈接program 。 void glLinkProgram(GLuint program) [gl.linkProgram]

8. 使用porgram 。 void glUseProgram(GLuint program) [gl.useProgram]

attribute變量

attribute是頂點(diǎn)屬性,每個(gè)頂點(diǎn)都會(huì)有,但只存在于vertex Shader中,由應(yīng)用程序傳入其值。

因?yàn)樵阪溄觩rogram之前,attribute變量是還沒(méi)有分配內(nèi)存的,為了給shader中的attribute變量傳值,首先需要將其綁定到program上,并指定他的位置attr_pos,鏈接program之后,可以通過(guò)這個(gè)位置attr_pos來(lái)給這個(gè)變量傳值。加入shader中有一個(gè)

這樣就將attr_name(字符串)綁定到了attr_pos(無(wú)符號(hào)值)位置。

這樣就把vert_data傳遞給了attribute變量attr_name。

因?yàn)槊總€(gè)頂點(diǎn)屬性的數(shù)據(jù)都依托在一個(gè)VBO中了,因此要想給一個(gè)attrbute變量傳遞數(shù)據(jù),需要先把把數(shù)據(jù)交給一個(gè)VBO對(duì)象。

如果我們?cè)冁溄觩rogram之前并沒(méi)有指定他的位置,我們還可以去查找這個(gè)變量。

uniform變量

uniform變量在shader中時(shí)只讀,隨不同圖元變化的全局變量,其值也由應(yīng)用程序傳入。

這樣就可以給unif_pos設(shè)置1個(gè)浮點(diǎn)數(shù)的值,除glUniform1f之外,還可以使用如下方法:

可以看到,根據(jù)參數(shù)個(gè)數(shù)和類型不同,需要使用不同的方法設(shè)置。

varying變量

shader之間傳遞值用的變量類型了。在編寫(xiě)vertex shader 中寫(xiě)入,在fragment shader中只讀出

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7085

    瀏覽量

    89220
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    613

    瀏覽量

    28413

原文標(biāo)題:shader中的數(shù)據(jù)是怎么傳遞的?

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    全局變量數(shù)據(jù)傳遞

    當(dāng)兩個(gè)獨(dú)立的程序生成EXE文件后,它們之間全局變量就不能傳遞數(shù)據(jù)了嗎,求解!
    發(fā)表于 07-13 13:38

    把局部變量從char或者short類型轉(zhuǎn)換成int類型

    把局部變量從char或者short類型轉(zhuǎn)換成int類型,可以改善性能并減小代碼尺寸,其實(shí),這種轉(zhuǎn)換函數(shù)類型參數(shù)也有同樣的效果,看下面的例子,將2個(gè)16位的
    發(fā)表于 08-14 14:45

    共享變量 數(shù)據(jù)傳遞

    labview生成安裝程序(里面數(shù)據(jù)傳遞共享變量) 在本電腦上可以傳遞數(shù)據(jù),安裝到其他電腦上無(wú)法傳遞數(shù)據(jù),何解?
    發(fā)表于 07-08 13:57

    利用共享變量在主機(jī)和RT終端上傳遞數(shù)據(jù) 求助求助

    利用共享變量在主機(jī)和RT終端上傳遞數(shù)據(jù)時(shí),主機(jī)可以接受到RT終端上的數(shù)據(jù),但在RT終端上接收不到主機(jī)傳遞的數(shù)據(jù)。但當(dāng)兩個(gè)RT終端之間共享
    發(fā)表于 11-04 09:52

    Orcad 與 PADs 之間傳遞

    弱弱的問(wèn)下,有沒(méi)有人成功把 Orcad 的 Value (帶空格的,如:"10K 1%")傳遞給 PADs ?我試過(guò)只能傳沒(méi)用空格的,如“10K”,如果帶空格的話, Orcad 輸出網(wǎng)表后,在Pads 導(dǎo)入時(shí)會(huì)報(bào)錯(cuò)。。。無(wú)解
    發(fā)表于 05-17 19:45

    多個(gè)循環(huán)之間變量傳遞問(wèn)題

    最近有一個(gè)項(xiàng)目涉及多個(gè)循環(huán)之間變量傳遞問(wèn)題,在控制的過(guò)程中發(fā)現(xiàn)用局部變量,兩個(gè)循環(huán)之間進(jìn)行聯(lián)鎖時(shí),布爾量反應(yīng)有些延時(shí),這樣帶來(lái)了一些通訊上的
    發(fā)表于 08-06 19:11

    如何存儲(chǔ)指針類型的數(shù)據(jù)變量

    和*a的都輸出,這時(shí)候printf輸出的a就是一串?dāng)?shù),十進(jìn)制的,而*a就是b的,這時(shí)候我有個(gè)疑問(wèn),這個(gè)指針變量是以什么形式保存,或者說(shuō)所有
    發(fā)表于 11-05 03:40

    Verilog 變量聲明與數(shù)據(jù)類型

    ,wire型變量起到變量之間傳遞的作用。實(shí)例1:modulewire_bridge( inputa,b,ci, output y,co);
    發(fā)表于 08-10 14:01

    請(qǐng)問(wèn)TMOS不同任務(wù)消息傳遞能否全局變量代替?

    TMOS不同任務(wù)之間的消息傳遞完全可以全局變量來(lái)代替,為何還要用消息傳遞的機(jī)制?全局
    發(fā)表于 08-08 06:04

    詳細(xì)解讀Python變量類型

    變量存儲(chǔ)在內(nèi)存中的。這就意味著在創(chuàng)建變量時(shí)會(huì)在內(nèi)存中開(kāi)辟一個(gè)空間。基于變量的數(shù)據(jù)類型,解釋器會(huì)分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲(chǔ)在內(nèi)存
    的頭像 發(fā)表于 10-17 17:14 ?2743次閱讀
    詳細(xì)解讀Python<b class='flag-5'>變量</b><b class='flag-5'>類型</b>

    變量和常量之間的差異

    Windows -編程-變量和常量之間的差異 無(wú)法更改變量可能會(huì)讓您想起大多數(shù)其他語(yǔ)言都有的另一個(gè)編程概念:常量。與不可變變量一樣,常量
    發(fā)表于 10-19 17:24 ?808次閱讀

    STRUCT和UDT類型變量是什么意思

    STRUCT和UDT類型變量是表示一個(gè)完整結(jié)構(gòu)或一個(gè)結(jié)構(gòu)元素的結(jié)構(gòu)化變量
    的頭像 發(fā)表于 08-29 11:09 ?2268次閱讀

    什么是變量

    System Verilog提供兩組通用的數(shù)據(jù)類型:網(wǎng)絡(luò)和變量(nets 和 variables)。網(wǎng)絡(luò)和變量同時(shí)具有類型和數(shù)據(jù)類型特性。
    的頭像 發(fā)表于 02-09 14:40 ?1147次閱讀
    什么是<b class='flag-5'>變量</b>?

    淺析python的變量類型

    python不需要事先聲明變量。 python的變量類型是在運(yùn)行過(guò)程中自動(dòng)決定的,不需要代碼聲明類型
    的頭像 發(fā)表于 03-10 10:11 ?820次閱讀
    淺析python的<b class='flag-5'>變量</b><b class='flag-5'>類型</b>

    ProConOS和機(jī)器人控制器之間的布爾交換

    $SOFTPLCBOOL[] ProConOS和機(jī)器人控制器之間的布爾交換 借助Mulitprog庫(kù)KrcExVarLib的功能塊,可以從數(shù)組變量中讀取單個(gè)或多個(gè),也可以將其寫(xiě)入數(shù)
    的頭像 發(fā)表于 06-16 16:10 ?681次閱讀
    主站蜘蛛池模板: 18亚洲男同gay1069| 果冻传媒在线完整免费播放| 久久偷拍免费2017| 中国毛片网| 蜜桃传媒在线播放| 扒开老师大腿猛进AAA片软件| 日日操夜夜操狠狠操| 国产美女一区二区| 中国老太婆xxxxx| 欧美激情视频在线观看一区二区三区| H厨房灌草莓| 丝袜美女自摸| 久久精品久久久久| 边吃胸边膜下床震免费版视频| 色戒西瓜视频| 国产又黄又粗又爽又色的视频软件 | 欧美色图天堂网| 国产亚洲福利精品一区| 真实伦 乱| 色婷婷我要去我去也| 久久久久影视| 国产99久久久国产精品成人| 一边啪啪的一边呻吟声口述| 人与禽物videos另类| 花蝴蝶在线观看中字| yw193龙物免费官网在线| 亚洲精品乱码一区二区三区| 欧洲xxxxx| 久久机热视频 这里只有精品首页| 白嫩美女直冒白浆| 伊人久久大香线蕉影院95| 十分钟在线观看免费视频高清WWW| 久久免费大片| 国产人妻人伦精品98| 成人毛片在线播放| 真实国产熟睡乱子伦对白无套 | 久久操韩国自偷拍| 国产69精品久久久久人妻刘玥 | 色人阁综合| 蜜芽资源高清在线观看| 国产主播AV福利精品一区|