第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將值列表傳遞給片段著色器

將值列表傳遞給片段著色器

我想將值列表發(fā)送到片段著色器中。它可能是一個(gè)很大的列表(長數(shù)千個(gè)項(xiàng)目)單精度浮點(diǎn)數(shù)。片段著色器需要對(duì)該列表進(jìn)行隨機(jī)訪問,我想刷新每幀上CPU的值。我正在考慮如何做到這一點(diǎn)的選擇:作為數(shù)組類型的統(tǒng)一變量(“ uniform float x [10];”)。但是這里似乎有限制,在我的GPU上發(fā)送數(shù)百個(gè)值非常慢,而且當(dāng)我想在運(yùn)行時(shí)更改它時(shí),我必須在著色器中硬編碼上限。作為高度為1且寬度為列表的紋理,然后使用glCopyTexSubImage2D刷新數(shù)據(jù)。其他方法?我最近還沒有跟上GL規(guī)范的所有變化,也許還有其他專門為此目的設(shè)計(jì)的方法?
查看完整描述

3 回答

?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

這聽起來像是紋理緩沖區(qū)對(duì)象的一個(gè)很好的用例。這些與常規(guī)紋理沒有太大關(guān)系,基本上可以讓您以簡單的線性數(shù)組的形式在著色器中訪問緩沖區(qū)對(duì)象的內(nèi)存。它們類似于1D紋理,但不進(jìn)行過濾,只能由整數(shù)索引訪問,這聽起來像您將其稱為值列表時(shí)需要執(zhí)行的操作。而且它們還支持比1D紋理更大的尺寸。要更新它,你可以再使用標(biāo)準(zhǔn)緩沖對(duì)象的方法(glBufferData,glMapBuffer,...)。


但另一方面,我認(rèn)為它們需要使用GL3 / DX10硬件,甚至已經(jīng)成為OpenGL 3.1的核心。如果您的硬件/驅(qū)動(dòng)程序不支持它,那么您的第二種解決方案將是選擇的方法,而是使用1D紋理而不是寬度x 1 2D紋理)。在這種情況下,您還可以使用非平面2D紋理和一些索引魔術(shù)來支持大于最大紋理大小的列表。


但是,我認(rèn)為紋理緩沖區(qū)是您問題的完美選擇。為了獲得更準(zhǔn)確的了解,您還可以查看相應(yīng)的擴(kuò)展規(guī)范。


編輯:為了回應(yīng)Nicol關(guān)于統(tǒng)一緩沖區(qū)對(duì)象的評(píng)論,您還可以在此處查找兩者的一些比較。我仍然傾向于使用TBO,但是不能真正地說明原因,僅是因?yàn)槲艺J(rèn)為它在概念上更合適。但是,也許尼克爾可以提供答案,使人們對(duì)該事件有更多的了解。


查看完整回答
反對(duì) 回復(fù) 2019-12-10
  • 3 回答
  • 0 關(guān)注
  • 587 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)