2016-01-22 87 views
0

我有一個來自SRTM的geotiff。我將它作爲sampler2D在GPU上發送,作爲頂點着色器。 因此,我把它作爲sampler2D制服。我想要的只是從 讀取sampler2D的高度數據(在頂點着色器中)。我不想使用gl_Vertex。在頂點着色器中從紋理中讀取高度值

+0

傳球高度作爲統一。因爲紋理的高度在其整個生命週期中保持不變,所以很難在運行時操作它(如果是這樣,這將會是昂貴且低效的)。 – Poriferous

+0

該技術被稱爲「頂點位移」,尋求它... –

+0

@Poriferous:紋理的數據*是高度*。他詢問的全部問題是高度的存儲能力。它不是一個「統一的」值,因爲它從頂點變成了頂點。 –

回答

1

您正在尋找的功能稱爲頂點紋理拾取。

這裏有一個較舊的article on the OpenGL wiki,但基本上你將紋理綁定到紋理單元,確保統一的sampler2D設置爲相同的紋理單元,然後在着色器中調用texture2D(myTex, coords)

您的座標可以通過多種方式進行設置,但目標是將頂點座標轉換爲[0,1]範圍內的紋理座標。

相關問題