2010-09-23 91 views
4

我剛剛學習OpenGL並遇到一些問題。我正在使用OpenGL 3.0和GLSL 1.2。GLSL着色器屬性(以整數形式)

我有一個矩陣數組,我想選擇性地應用到不同的頂點。每次我想指示一個索引時,我都不想複製一個矩陣,而是希望傳入一個整數作爲索引並使用該整數來選擇我想要的矩陣。然而,當我嘗試編譯我着色器,我得到以下錯誤:

ERROR: 0:5: 'attribute' : cannot be bool or int 

我會很感激,如果任何人都可以在正確的方向指向我。

回答

4

屬性可以是整數,但您需要啓用較新版本的GLSL才能使用它。嘗試添加這對您的着色器的頂部:

#version 130 

版本130對應OpenGL 3.0的

+3

以及發送此類屬性的着色器,而不是glVertexAttrib *使用其整數版本 - glVertexAttribI * – erjot 2010-09-23 16:20:51

+0

我使用Mac OS X,它不會支持130.然而,很高興知道。謝謝回覆。 – LandonSchropp 2010-09-24 01:44:56

+2

然後你不使用OpenGL 3.0 ...你運氣不好。 – 2010-09-24 02:16:03