2013-03-01 44 views
0

所以,我有一臺PC與NVIDIA GeForce GTX 580,與一些ATI卡,然後與GeForce GTX 680M的筆記本電腦的Mac。glsl頂點着色器編譯PC,MAC,而不是在另一臺PC

頂點着色器在580和ATI上編譯,但不在gtx 680M上編譯。

誤差是相當有趣的(不): ERROR:0:18: '':語法錯誤語法錯誤

這行代碼是:INT vIdStep = gl_VertexID%9;

我試圖刪除所有的空格,添加額外的空行,移動行,...沒有任何工作。

我使用gl_VertexId在其他着色器編譯沒有問題。只有帶有%的這個纔會在680M上編譯。

這是什麼? 其他人有這種經歷嗎? 我能做些什麼呢?

編輯:順便說一句:這解決了問題,但它是一個可怕的sollution IMO,我真的想要一個更好的一個: INT vIdStep = INT(MOD(浮點(gl_VertexID),9));

+0

你的驅動程序是最新的嗎? – 2013-03-01 21:47:13

+0

是的,他們是...... – scippie 2013-03-01 22:00:09

回答

0

好吧,我終於找出問題所在。 我的便攜式電腦有一個混合視頻適配器:Intel/Nvidia。 由於某些原因,即使在全屏模式下,驅動程序仍在我的測試中選擇英特爾適配器。因此,這是英特爾驅動程序中的一個錯誤。

此時您無法在Intel HD Graphics 4000上的glsl上使用%。我現在將提交錯誤給他們。

相關問題