我正在使用一些標準的GLSL(版本120)頂點和片段着色器來模擬LIDAR。換句話說,不是隻在每個x,y位置(每個像素,通過片段着色器)返回一個顏色,它應該返回顏色和距離。我需要我的GLSL片段着色器來返回距離計算
我想我實際上並不需要所有的顏色位,因爲我真的只想要強度;所以我可以將距離存儲在gl_FragColor.b
中,例如,使用.rg
作爲強度。但是,我並沒有完全清楚我如何將價值重新拿回來。
是否有一種簡單的方法可以從片段着色器中返回值?我試過varying
,但好像片段着色器不能寫gl_FragColor
以外的變量。
據我所知,有些人使用GLSL管道進行通用(非圖形)GPU處理,這可能是一個選項 - 除非我仍然想要正常渲染我的對象。
你想將片段着色器輸出*返回給*?主機內存?紋理? – genpfault
我想主機內存。我不太清楚如何回答這個問題。我想只是能夠從緩衝區中獲得價值。我對此的看法越多,將它存儲在顏色通道中似乎越有意義。雖然有一些方法不會干擾色彩存儲? –