Android混合了OpenGLES 1.0和OpenGLES 2.0

Android混合了OpenGLES 1.0和OpenGLES 2.0,android,opengl-es,opengl-es-2.0,Android,Opengl Es,Opengl Es 2.0,我被要求为我们的Android引擎创建着色器,我有点困惑。到目前为止,引擎是在使用GL10实例负责绘制所有内容的前提下构建的。但是,由于着色器是OpenGL 2.0,如果我将上下文客户端版本设置为2.0并绘制简单场景(例如立方体),则不会显示任何内容,而如果我使用默认的1.0,则会显示任何内容 我不完全确定我应该如何继续-我需要根据设备支持的最高版本的OpenGLES创建不同的引擎吗?使用尽可能高的版本,不管它支持什么(假设向后兼容) 欢迎提供任何帮助/建议…OpenGL ES 2.x与Open

我被要求为我们的Android引擎创建着色器,我有点困惑。到目前为止,引擎是在使用GL10实例负责绘制所有内容的前提下构建的。但是,由于着色器是OpenGL 2.0,如果我将上下文客户端版本设置为2.0并绘制简单场景(例如立方体),则不会显示任何内容,而如果我使用默认的1.0,则会显示任何内容

我不完全确定我应该如何继续-我需要根据设备支持的最高版本的OpenGLES创建不同的引擎吗?使用尽可能高的版本,不管它支持什么(假设向后兼容)


欢迎提供任何帮助/建议…

OpenGL ES 2.x与OpenGL ES 1.x不向后兼容。您必须编写不同的代码来支持这两种功能。

OpenGL ES 2.x与OpenGL ES 1.x不向后兼容。您必须编写不同的代码来支持这两种功能。

如果其他人好奇,可以。我编写了一个静态类来确定手机在启动时的功能,通过捕获错误来考虑误报。根据结果,我使用单一渲染器和引擎版本,并应用特定指令,即如果它可以有可编程管道,则使用它,否则使用固定管道。如果其他人好奇,请确定。我编写了一个静态类来确定手机在启动时的功能,通过捕获错误来考虑误报。根据结果,我使用单一渲染器和引擎版本,并应用特定指令,即如果它可以有可编程管道,则使用它,否则使用固定管道。