2012-01-15 76 views

回答

10

實際上,您不必添加任何庫,140對於Kindle Fire來說太新了。刪除版本說明或將其遞減,直到着色器編譯。您可能需要修復着色器中的其他一些錯誤,因爲該語言的各個版本確實有一些差異。

您還可以使用glGetString()查詢GL_SHADING_LANGUAGE_VERSION以獲取設備支持的GLSL版本(至少保證爲100- ES 2.0是第一個具有着色語言的版本)。另外,正如其他人所提到的,OpenGL ES GLSL與OpenGL ES不同(我認爲這很明顯,OpenGL ES不是OpenGL),所以版本號不匹配。然而,有GL_ARB_ES2_compatibility及其對ES3,ES3.1和ES3.2的擴展,其中描述了ES /非ES GLSL語言的映射,並且使用那些可能在非ES上獲得ES類功能上下文。

+3

我以爲140年已經很老了。 ( – 2012-01-15 18:25:45

+5

)如果某些東西支持OpenGL ES 2.0,它支持哪種版本的GLSL?(至少,我的意思是至少) – BrainSlugs83 2013-09-03 01:49:08

+0

@ BrainSlugs83:如果有東西支持OpenGL ES 2.0,保證支持GLSL ES 100.當人們看到'#version ...'指令並立即認爲蘋果(桌面GLSL)在某種程度上可與橙子(嵌入式GLSL)相比時,在比較這些數字時存在很多混淆。它們在很多方面都很相似,但是在很多方面都不相同(版本編號是他們分歧很大的一個領域)。看看:http://www.opengl.org/registry/gles/ - 如果你看下標題爲「OpenGL ES 2.0 Specific」,它告訴你與之相關的GLSL ES版本 – 2013-09-29 23:40:08

30

OpenGL ES 2.0 spec是指GLSL ES,與GLSL不一樣。

該規範GLSL ES規範說:

此版本的語言是基於桌面GLSL 1.10版本。但是它包含了許多版本爲1.20但不是1.10的功能。

查看規格以瞭解支持的內容。

+4

顯然我在使用谷歌搜索很可怕。好的。 – 2012-01-15 18:29:09

+0

(對不起,不禁要嘲笑你的評論) – 2013-06-27 16:38:12

+0

值得一提的是,OpenGL ES 2.0規範聲明它至少支持GLSL ES 1.0。 – 2014-10-02 09:19:44

14

OpenGL ES不是OpenGL,所以同樣OpenGL ES的着色語言不是OpenGL的着色語言。他們是類似,但它們不一樣。所以沒有與GLSL ES版本相匹配的桌面GLSL版本。

相關問題