我正在开发一个 Droid,版本 2.1-update1。我支持的 GL 扩展包括 GL_OES_point_sprite 和 GL_OES_point_size_array。
我无法获得要渲染的点精灵。下面的代码在 glTexEnvi 调用中从 GLWrapperBase 抛出 UnsupportedOperationException。如果我禁用纹理并将 glTexEnvi 全部注释掉,它会在 glPointSizePointerOES() 处进一步抛出相同的异常。
Android 是否正确支持点精灵?有没有人让他们工作?还是我下面的代码有问题?
// Note that gl is cast to GL11
gl.glEnable(GL11.GL_TEXTURE_2D);
gl.glEnable(GL11.GL_BLEND);
gl.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
gl.glDepthMask(false);
gl.glEnable(GL11.GL_POINT_SPRITE_OES);
gl.glTexEnvi( GL11.GL_POINT_SPRITE_OES, GL11.GL_COORD_REPLACE_OES, GL11.GL_TRUE );
gl.glEnableClientState(GL11.GL_VERTEX_ARRAY);
gl.glVertexPointer(2, GL11.GL_SHORT, 0, .vertBuffer);
gl.glEnableClientState(GL11.GL_POINT_SIZE_ARRAY_OES);
gl.glPointSizePointerOES(GL11.GL_FLOAT, 0, pointSizeBuffer);
谢谢