2012-07-19 101 views

回答

13

如果你想制服傳遞給片段着色器號,您可以輕鬆地做到這一點(見任何教程)。但是如果你想要類似於每個頂點屬性的東西,那麼這樣做沒有意義。你也可以做的是將屬性傳遞給頂點着色器,然後在頂點着色器中將它們作爲變化傳遞給片段着色器。它們將在基元上插值並作爲片段着色器的輸入提供。

+0

蒂姆,這個答案確實爲我準備就緒,如何制服,屬性和變化一起工作。謝謝! – Jackalope 2013-07-02 15:44:19

+1

插值有些可以控制嗎?例如,(火炬)光源的情況下,您不希望變化在每個方塊所用的三角形中產生高光。不幸的是,你可以用O或O來代替O或O。 – 2014-04-10 20:21:42

1

蒂姆的答案當然是正確的。

可能的解決方法是將您的float值存儲在2D紋理中,並將紋理座標(以及值的數量)傳遞給着色器。但是,如果每個頂點有大量浮點值(因爲每個片段都有紋理查找),這可能會變得非常慢。另一個問題是,如果你有很多頂點,這會導致非常大的紋理。 無論如何,在某些情況下,這種方法可能很有用。