2013-06-06 90 views
0

我正在閱讀紅皮書(OpenGL編程指南)中的程序紋理章節。在他們的程序紋理示例中,從應用程序傳遞給着色器的參數之一是紋理座標。但是,它們不顯示如何生成紋理座標。爲程序紋理生成紋理座標

有人可以提供一個如何去執行過程紋理時產生紋理座標的例子嗎?

+0

程序紋理和紋理座標的自動生成是完全正交的。你可以做一個沒有另一個,而另一個工作都不需要。 –

回答

2

我沒有了OpenGL編程指南,所以我不能對他們的榜樣作出具體評論,但一般:

如果你的程序紋理顏色計算基於兩個維座標,這些都沒有什麼不同普通紋理座標。就像通常一樣,只需從應用程序傳入它們(或根據頂點着色器中的某些投影計算它們)即可。

如果您的程序紋理根據三維座標計算顏色,通常會使用(未轉換的)頂點位置作爲程序紋理計算的輸入。將頂點位置屬性複製到您的頂點着色器中的varying(或最近的GLSL方言中的outvec3變量。