兩個問題:GLSL - 在GLSL 1.2統一地點和着色器深度測試
我呈現不同的着色器在大VBO元素。在GLSL 1.2其中,如果我是正確的,因爲它是最新版本的OSX不支持統一的位置,我假設意味着你的屬性的位置是哪裏編譯程序將決定我必須使用。有沒有辦法解決?例如,我的VBO了交錯式(X,Y,Z,NX,NY,NZ,texU,texV),我需要多個着色器可以在同一個地方,每次訪問這些屬性。然而,我發現編譯器給他們不同的位置,導致位置成爲法線,等等。我需要他們的位置與我的VBO屬性位置一致。
我只是得到我的第一個GLSL渲染完成,它看起來酷似我忘了,以實現與呈現在彼此的頂部各種多邊形的深度測試。我啓用了深度測試用:
glEnable(GL_DEPTH_TEST);
但問題依然存在。有沒有不同的方式來啓用着色器?我認爲深度緩衝區照顧這個?
問題2解決。原來是創建窗口時需要指定OpenGL設置的SFML問題。
「不支持統一的位置」這些是*屬性位置*,不是統一的位置。請更改您的問題以使用正確的條款。 – 2012-07-29 20:39:39
您在第1點錯了,OSX 10.7和10.8均支持GLSL 1.50和ARB_explicit_attrib_location。 (他們似乎都支持GLSL 3.30,並且基於我的測試顯示了屬性位置,但是這沒有記錄) – 2012-07-29 21:49:49