我最近遇到了由於我無意中在OpenGL幾何着色器中的EmitVertex和EndPrimitive之後錯誤地鍵入了一對括號而導致的呈現問題。令我驚訝的是,glsl編譯器並沒有拋出任何編譯錯誤,並悄悄讓它通過。最終的結果是一個空白屏幕,因爲幾何着色器沒有發射頂點。glsl編譯器完全忽略捕捉EmitVertex後缺少括號的錯誤EndPrimitive
我想知道它是在編譯器中的錯誤還是有任何其他原因。 順便說一句,我已經在Win7上測試了它與nVidia Titan X以及Win8與GTX 750M。他們都有同樣的問題。
在發生這種情況時發佈着色器示例。 – BDL
無需發佈着色器。您可以通過刪除EmitVertex()或EndPrimitive()的圓括號在任何opengl幾何着色器上嘗試它。 – stonexjr