Zaten daha hızlı opengl-es yüzeyi ile zaten sahip olduğum Canvas tabanlı oluşturma sistemini değiştirmeye çalışıyorum, ancak böyle bir duruma uygun bir openGL renderer elde edemiyorum. perspektif görünümden ziyade 2d alanı gibi davranır.Tuval değiştirmek için OpenGL kullanma - Android
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
gl.glViewport(0, 0, width, height);
gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrthof(0.0f, width, 0.0f, height, 0.0f, 1.0f);
gl.glShadeModel(GL10.GL_FLAT);
gl.glEnable(GL10.GL_BLEND);
gl.glBlendFunc(GL10.GL_SRC_ALPHA, GL10.GL_ONE_MINUS_SRC_ALPHA);
gl.glColor4x(0x10000, 0x10000, 0x10000, 0x10000);
gl.glEnable(GL10.GL_TEXTURE_2D);
}
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
gl.glClearColor(0.5f, 0.5f, 0.5f, 1);
gl.glShadeModel(GL10.GL_FLAT);
gl.glDisable(GL10.GL_DEPTH_TEST);
gl.glEnable(GL10.GL_TEXTURE_2D);
gl.glDisable(GL10.GL_DITHER);
gl.glDisable(GL10.GL_LIGHTING);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
}
nasıl kurulum oluşturucu çevirmek dönüşüm ekrandaki piksellere ile eşleşir böylece şu şekildedir: gerçekleyicisi
Benim şu anki kod görünüyor? (böylece 5'i sağa çevirmek 5'i hareket ettirirdi)
Neden sadece bir GL örneğini Tuval yapıcısına geçirmiyorsunuz. http://developer.android.com/reference/android/graphics/Canvas.html –
Bu, openGL'nin hız avantajlarını Bitmap'lerin çiziminde temel Canvas'a göre korur mu? – GuyNoir
Bunun için Tuval kullanmayın. Belgeli olmasına rağmen işe yaramıyor. Ayrıca, IRC’de yapılan görüşmelere göre, Canvas’ın geliştiricisi gelecekteki sürümler için onu API’ndan zaten kaldırdı. – Moncader