GameDesign 板


LINE

這問題比較是圖學相關問題, 所以我直接用圖學範例來敘述我的問題 如果有說明不清楚之處請再反映 問題: 假設有一個三角形, 每個節點上都有一個浮點數值, 我希望 這個浮點數值被編碼成代表著兩個或以上的正實數, 每個數字皆為 [0, 1] 區間 不考慮誤差且在 vertex shader中, 這些數字可以很容易的被解/編碼 例如說 float = 100 * a + b, a, b皆介於0 1 之間 要解出a 以及b是相當容易的事情, a, b再送到pixel shader就可以得到a, b 這兩數之內插值 但是如果這數字沒有在vertex shader被解開, 而是整個浮點數被送進 pixel shader做內插, 請問有沒有一個編碼方式可以在pixel shader 還原出a, b 內插值? 如果有的話, 請問一個浮點數可以塞進多少個該數值? --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 174.71.182.217
※ 文章網址: https://webptt.com/m.aspx?n=bbs/GameDesign/M.1540486756.A.050.html
1F:推 LPH66: 我久遠以前的印象怎麼記得可以送不只一個浮點數過去? 10/26 01:08
2F:→ LPH66: 如果你兩個 shader 都動得到, 有什麼原因要硬塞成一個? 10/26 01:11
3F:→ Ninja5566: 因為有些平台不能送太多到pixel shader, 會無法編譯 10/26 01:24
4F:→ Ninja5566: 像UE4中 安卓平台只能送6個 float, 送一個顏色過去 10/26 01:26
5F:→ Ninja5566: 就去掉一半了 10/26 01:26
6F:推 cjcat2266: 不是有辦法標註讓attribute不要被內插? 10/26 05:26
7F:→ cjcat2266: 像HLSL有nointerpolation 10/26 05:27
8F:→ cjcat2266: 還有100 * a + b,b = 1.0f的時候會被吃掉吧? 10/26 05:29
9F:→ cjcat2266: 可能要用個sign或什麼把這個edge case編進去 10/26 05:30
10F:→ Ninja5566: 1.f這種狀況就不討論了, 因為一定有誤差 10/26 05:45
11F:→ Ninja5566: 就轉成 b - KINDA_SMALL_NUMBER 之類的就好 10/26 05:46
12F:→ Ninja5566: 因為我是用UE4, 我目前找不到不被內插的方法 10/26 05:49
13F:→ Ninja5566: 我的想法是解得出a應該可以倒回求b 10/26 06:17
14F:推 Alimen: 可以考慮把兩浮點數編到一個 1D texture 傳進去 10/26 10:20
15F:→ Alimen: 然後100a那招,你必須確保a只有小數下兩位,否則b會被吃掉 10/26 10:22
16F:→ Ninja5566: 不是很想要把它弄進texture裡面, 因為安卓對 10/26 10:38
17F:→ Ninja5566: texture sample數量也有所限制, 光基本貼圖可能 10/26 10:39
18F:→ Ninja5566: 就有點吃緊了 10/26 10:39
19F:→ Ninja5566: 我記得安卓只能一次讀4張, 當然可以考慮把檔案塞到一般 10/26 10:40
20F:→ Ninja5566: 貼圖, 但是這真的有點費工, 因為這資料是動態的所以要 10/26 10:41
21F:→ Ninja5566: 更新 10/26 10:41
22F:→ Ninja5566: 至於數值的話, 0~0.99應該夠用了, 加上可以內插應該 10/26 10:43
23F:→ Ninja5566: 不是問題 10/26 10:43
24F:推 cjcat2266: UE4強制內插? 所有shader都可以明令不內插吧 10/26 15:55
UE4 的shader 與其說是shader不如說是一個封裝好的shader編輯器, 在材質 裡面你做的絕大部分操作都在pixel shader, 唯二的例外是使用custom uv 還有vertex interpolator, 如果使用此兩者功能的話就會把你的操作轉換到 vertex shader, 除此之外我找不到任何可以控制 vertex 和 pixel之間溝通 的方法, 包含關掉內插 UE4 不像 unity 可以亂搞你的shader 程式, 除非你直接去更改轉換出來的 程式碼 ※ 編輯: Ninja5566 (174.71.182.217), 10/26/2018 21:51:43
25F:推 cjcat2266: 網路上說int不會被內插的樣子 10/27 00:44
26F:推 cjcat2266: 另外,看來shader graph也有interpolator node了 10/27 07:59
27F:→ cjcat2266: http://bit.ly/2z3KN8I 應該表示有支援內插模式吧 10/27 07:59
28F:→ Ninja5566: 那個node就跟我說的依樣, 除了你數值輸入外完全 10/27 22:14
29F:→ Ninja5566: 沒有任何可供調整的參數 10/27 22:15
30F:→ Ninja5566: 還有UE4除了custom node之外, 只能使用float或floatvec 10/27 22:16
31F:推 cjcat2266: 那用int呢,論壇上說int不會被內插 10/28 00:04
32F:→ Ninja5566: ue4 material在大部分情況沒法用int 10/28 01:44
※ 編輯: Ninja5566 (174.71.182.217), 10/28/2018 01:45:12
33F:推 cjcat2266: 好吧...看來我這UE4外行真的無法亂猜答案,有請其他熟 10/28 08:04
34F:→ cjcat2266: 悉的UE4的高手回答 10/28 08:04
35F:→ ADF: 基本上這跟GPU裝置相關 我曾做過UE4在PS4上優化 像ati系列的 10/29 12:46
36F:→ ADF: 有提供GetParameterPX GetViVjPerspCenter 可以在pixelShader 10/29 12:48
37F:→ ADF: 可以在解碼後 自己做內插 10/29 12:49
38F:→ Ninja5566: 請問這技術有關鍵字嗎? 感謝回答 10/30 02:24
39F:推 ADF: 在pc上你可已查 amd shader explicit vertex parameter 10/30 16:58
40F:→ ADF: 不過nvidia沒有這個擴展 10/30 17:00
41F:→ kuma660224: 對UE4不熟,不過用貼圖傳值可不受限圖數吧 11/24 14:14
42F:→ kuma660224: 就把一張圖分成上下,放兩張? 11/24 14:15
43F:→ kuma660224: UV在PS再做scale offset,讀兩次不同位置 11/24 14:16







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP