儘管花費了數小時的時間,但我似乎無法找到明確的答案。有人能告訴我發生了什麼事嗎?我遇到錯誤,比如說「不支持140版」。這是我的設備(Kindle Fire)還是GL ES 2.0?我是否需要添加庫或任何東西?我可以在OpenGL ES 2.0中使用哪些GLSL版本?
回答
實際上,您不必添加任何庫,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類功能上下文。
OpenGL ES 2.0 spec是指GLSL ES,與GLSL不一樣。
該規範GLSL ES規範說:
此版本的語言是基於桌面GLSL 1.10版本。但是它包含了許多版本爲1.20但不是1.10的功能。
查看規格以瞭解支持的內容。
顯然我在使用谷歌搜索很可怕。好的。 – 2012-01-15 18:29:09
(對不起,不禁要嘲笑你的評論) – 2013-06-27 16:38:12
值得一提的是,OpenGL ES 2.0規範聲明它至少支持GLSL ES 1.0。 – 2014-10-02 09:19:44
OpenGL ES不是OpenGL,所以同樣OpenGL ES的着色語言不是OpenGL的着色語言。他們是類似,但它們不一樣。所以沒有與GLSL ES版本相匹配的桌面GLSL版本。
- 1. 在OpenGL ES 2.0/GLSL中,您需要哪些精度說明符?
- 2. iOS - 使用OpenGL ES 2.0顯示文本
- 3. 內置變量,如GLSL在OpenGL ES 2.0中支持的gl_Normal gl_Vertex?
- 4. Android OpenGL ES 2.0 - 在onDestroy中使用glDelete *()
- 5. 檢測可用的OpenGL ES版本
- 6. 在OpenGL ES 2.0的
- 7. 我可以在哪些版本的SQL Server上使用VARCHAR(MAX)?
- 8. osmesa OpenGL ES 2.0
- 9. 從OpenGL ES 1.1過渡到OpenGL ES 2.0
- 10. ARB_texture_multisample是否可用於OpenGL ES 2.0?
- 11. 如何從使用GLSL和OpenGL ES 2.0的整數中獲取位
- 12. OpenGL 2.0 ES座標
- 13. OpenGL ES 2.0紋理
- 14. 的OpenGL ES 2.0 3D
- 15. 的OpenGL ES 2.0:在紋理
- 16. opengl es 2.0中的GL_APPLE_clip_distance
- 17. OpenGL ES 2.0中的GLPaint
- 18. OpenGL vs OpenGL ES 2.0 - OpenGL應用程序可以輕鬆移植嗎?
- 19. Android - 使用NDK的OpenGL ES 2.0教程?
- 20. VTK - 使用OpenGL ES 2.0呈現工件
- 21. 我可以在OpenGL ES 2.0中控制繪製圖元的z順序嗎?
- 22. 使用iPhone的OpenGL ES 2.0:GL_POINT_SMOOTH使用ES 2.0繪製正方形,但在ES 1.0中工作
- 23. dotNet 2.0支持哪些WSDL版本?
- 24. 如何鏈接JOGL與PowerVR OpenGL ES 2.0和EGL版本?
- 25. OpenGL ES 2.0可能沒有NDK?
- 26. 在片段着色器(iOS 5 + OpenGL ES 2.0)中優化GLSL代碼
- 27. 新波士頓教程中的哪個版本的OpenGL ES?
- 28. 我可以在Adobe Animate中使用哪個ECMAScript版本CC
- 29. 如何在OpenGL ES 2.0中實現glOrthof
- 30. 如何設置紋理以便我可以在Android OpenGL-ES 2.0片段着色器中使用它們?
我以爲140年已經很老了。 ( – 2012-01-15 18:25:45
)如果某些東西支持OpenGL ES 2.0,它支持哪種版本的GLSL?(至少,我的意思是至少) – BrainSlugs83 2013-09-03 01:49:08
@ 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