我正在開發一個Droid版本2.1-update1。我支持的GL擴展包括GL_OES_point_sprite和GL_OES_point_size_array。OpenGL Point Sprites在Android中工作嗎?
我無法獲得點精靈來呈現。下面的代碼在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);
感謝
只是出於好奇,什麼手機你在跑的? – 2010-11-13 19:59:12
hmm - 看起來您必須使用glPointSize()或點大小數組來指定點大小。 glPointSizex()在運行2.2的Nexus One上不起作用。什麼都沒有顯示出來...... – 2010-11-13 20:53:30
運行在2.2 n1上,請嘗試MetalRain動態壁紙,以查看來自此的示例。 – HaMMeReD 2010-12-01 20:06:11