2013-02-19 86 views
1

至於我可以告訴映射使用使用的紋理點單着色器和三角形的OpenGL ES 2

gl_FragColor = texture2D(Texture, gl_PointCoord); 

點,並以

gl_FragColor = texture2D(Texture, TexCoorFromVertexShader); 

所以映射一個三角形,如果我想我們都是 - 點和三角形,我該如何處理它。到目前爲止,我正在考慮製作多個程序並根據我繪製的內容切換它們,但這似乎是一個很大的開銷。或者,事情是如何運作的?

回答

1

你的假設是正確的,單獨的着色器是要走的路。單個GLSL程序中的多個if語句可能非常昂貴。在你的情況下,我敢打賭,他們是一個真正的性能打擊,因爲查找將按每個頂點完成。

有一個在這裏閱讀進一步的信息:谷歌搜索的Shader branching question

+0

我希望更多的人分享他們的想法的話題,但顯然OpenGL是不是jQuery的流行......時間並沒有導致更好的建議所以我想你是對的。 – Martin 2013-02-20 11:06:23

+0

OpenGl ES是該遊戲的新手,但由於AR,遊戲,交互式視頻/攝影等因素,它將會增長很多,因此學習資源也會有所改善。如果我找到更多有關此主題的信息並提供更好的參考資料,我會更新我的帖子並讓您知道。 – 2013-02-20 13:12:50

+0

stackoverflow.com/questions/15344430/...你可以請看看這個鏈接,並幫助我。我還需要一些關於你的代碼的文檔。 – 2vision2 2013-03-11 17:15:03

相關問題