我正試圖取代基於畫布的渲染系統,我已經有了更快的opengl-es表面,但是,我似乎無法得到一個openGL渲染器來符合這樣的它作爲二維場而不是透視圖。使用OpenGL替換畫布 - 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);
}
我將如何設置渲染器,以便翻譯轉型將匹配了屏幕上的像素? (所以翻譯右5會移動5個像素)
爲什麼不使用GL實例傳遞給Canvas構造函數。 http://developer.android.com/reference/android/graphics/Canvas.html – 2010-08-30 01:32:40
在繪製位圖時,它會保持openGL的速度優於基本畫布嗎? – GuyNoir 2010-08-30 01:45:36
請勿使用Canvas。即使記錄在案,它也不起作用。另外,根據IRC的談話,Canvas的開發人員已經將其從API中移除以用於將來的版本。 – Moncader 2010-09-08 09:03:28