我向我的OpenGL應用程序引入了幾何着色器。我的着色器有很多「變化」的變量,我從頂點着色器傳遞給片段着色器。現在,在介紹幾何着色器之後,我必須手動傳遞每個頂點的幾何着色器中的每個變化值。有沒有辦法避免這種情況,並「自動」做事情?通過幾何着色器傳遞變量變量
3
A
回答
2
號
只要你在管道引進幾何着色器,如果你想從頂點着色器,你必須手動將它們傳遞片段着色器傳遞變量,創建從頂點的輸入變量着色器和片段着色器的輸出變量。我不知道您使用的是哪種GLSL版本,但您可能需要查看GLSL 3.30 spec的第4.3.4節。
2
不,因爲除了noop幾何着色器之外沒有任何明智的方法可以做到這一點,並且幾何着色器沒有對幾何做任何事情,爲什麼它首先啓用?
通常,幾何着色器將多個頂點作爲輸入,並生成(不同)頂點數作爲輸出。那麼哪個輸入頂點應該被自動映射到哪個輸出頂點?
相關問題
- 1. 傳遞幾何着色器
- 2. 通過AjaxPro傳遞變量
- 3. 通過URL傳遞變量
- 4. 傳遞變量通過link_to
- 5. 通過ssh傳遞變量
- 6. 通過JavaScript傳遞變量
- 7. 通過傳遞變量
- 8. 通過AJax傳遞變量
- 9. 通過XMLHttpRequest傳遞變量
- 10. HLSL - 幾何着色器(DirectX11)中的全局變量未改變
- 11. Webgl將顏色變量傳遞給着色器
- 12. 如何通過FancyBox傳遞JavaScript變量?
- 13. Django - 如何通過HttpResponseRedirect傳遞變量
- 14. 如何通過url傳遞變量
- 15. 如何通過AJAX/jQuery傳遞變量?
- 16. 如何通過url傳遞php變量
- 17. 如何通過Android fragmentmanager傳遞變量
- 18. 如何通過segue傳遞變量?
- 19. 如何通過jQuery傳遞post變量?
- 20. 如何通過apache RewriteRule傳遞變量?
- 21. 與通光的變化通過幾何着色器
- 22. 如何通過SWFObject將Flash變量傳遞給PHP變量
- 23. GLSL變量不從頂點傳遞到片段着色器
- 24. 傳遞一個變量到OpenGL的GLSL着色器
- 25. 使用這個頂點着色器通過着色器值,以全局變量
- 26. 通過Bundle的靜態變量或傳遞變量?
- 27. 難以傳遞變量通過包括使用全局變量
- 28. 通過URL傳遞變量但沒有變量?
- 29. 通過函數傳遞的Bash變量變量
- 30. 未定義的變量 - 通過URL傳遞變量
是的,你是對的。在我的案例中,除了丟棄頂點之外,幾何着色器實際上不會對幾何做任何事情,所以它在那裏很有意義。但我明白幾何着色器的應用要廣泛得多,因此我想要的是不可行的。感謝您的解釋。 – SimpleMan 2012-04-06 18:34:52
有幾個非常有用的幾何着色器不會改變幾何。幾何着色器是基元所有頂點可用於計算的唯一位置。 「單通線框」技術使用這些信息添加附加信息而不改變幾何圖形。使用這種技術時,要傳遞所有其他值有點煩人。但是,我們必須這樣做,因爲cest'la'vie。 – 2013-09-20 07:12:00