我正在使用LibGDX开发游戏。在我的游戏的一个屏幕中,我只画了一些圆圈。为此,我使用了这个GitHub存储库中的Circle java类,以使圆圈消除锯齿。
https://github.com/Dych/Smooth-circle/blob/master/core/src/gdx/example/Circle.java
它在桌面和Android模拟器上运行得很好,但是当我尝试在我的Android手机(Nexus 5)上运行它时,它只会崩溃并显示以下消息:
com.badlogic.gdx.utils.GdxRuntimeException: --From Vertex Shader:
Error: Symbol u_projTrans defined with different precision in vertex and fragment shaders.
--From Fragment Shader:
Error: Symbol u_projTrans defined with different precision in vertex and fragment shaders.
你可以帮帮我吗?
谢谢。
答案 0 :(得分:1)
如果您的设计使用GL_ES,则片段着色器使用#def
来定义精度。
但是顶点着色器中不存在相同的#def
,因此顶点着色器和片段着色器之间的精度可能不同(这可以解释您的错误)。
只需添加顶点着色器即可解决问题。
#ifdef GL_ES
precision mediump float;
#endif