2011-08-28 119 views
5

如何在Mac上設置GLSL版本?這甚至有可能嗎?我正在運行一個片段着色器,並且想要創建一個vec3s數組,但着色器編譯器產生一個錯誤,指示我需要使用更高的GLSL版本。具體的錯誤是在Mac上設置GLSL版本

'array of 3-component vector of float' : array type not supported here in glsl < 120 

感謝您的幫助。

回答

5

雖然我沒有的Mac體驗,你可以像

#version 120  //shader requires version 1.20 

指定要使用的東西着色器的最低要求的版本(這是1.10默認情況下,我認爲)在着色器第一道防線。但是當然,指定的版本也必須由您的硬件和驅動程序支持,您可以使用glGetString(GL_SHADING_LANGUAGE_VERSION)進行檢查。

編輯:我證實了這一起來看看吧到GLSL規範,這也表示,連接在一起的所有着色器應針對同一版本,但我敢肯定我自己也曾經成功地違反了這一點,但這可能是由於我寬容的nVidia驅動程序。因此,如果在鏈接時仍然抱怨,那麼也可以在頂點着色器中添加相同的#version標籤。

+0

謝謝,這正是我需要的。它似乎運作良好。 – TaylorP