解像度が 800x480 のデバイスがあります。GLSurfaceView を作成するonSurfaceChanged
と、533x320 (明らかに 1.5 HDPI モディファイヤが適用されている) で呼び出しが行われ、サーフェスがアップスケールされます。そのため、1 ピクセルの太い線を描画すると、非常に見栄えが悪く、ピクセル パーフェクトなレンダリングができません。
私が欲しいのは、ネイティブ解像度のサーフェス (800x480) です。
onCreate
ビューは、Activity の次の方法で (NDK OpenGL サンプルのように) 作成されます。
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
view = new MyGLSurfaceView(this);
setContentView(view);
レイアウト等は一切使用しておりません。