cleanup
This commit is contained in:
@@ -6,20 +6,11 @@ import javax.microedition.khronos.egl.EGLDisplay;
|
|||||||
|
|
||||||
import android.opengl.GLSurfaceView;
|
import android.opengl.GLSurfaceView;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class GlConfigChooser implements GLSurfaceView.EGLConfigChooser {
|
public class GlConfigChooser implements GLSurfaceView.EGLConfigChooser {
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static int stencilSize = 0;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
|
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
|
||||||
mValue = new int[1];
|
int[] val = new int[1];
|
||||||
|
|
||||||
// Try to find a normal multisample configuration first.
|
// Try to find a normal multisample configuration first.
|
||||||
int[] configSpec = {
|
int[] configSpec = {
|
||||||
@@ -33,13 +24,12 @@ public class GlConfigChooser implements GLSurfaceView.EGLConfigChooser {
|
|||||||
EGL10.EGL_STENCIL_SIZE, 8,
|
EGL10.EGL_STENCIL_SIZE, 8,
|
||||||
EGL10.EGL_NONE };
|
EGL10.EGL_NONE };
|
||||||
|
|
||||||
if (!egl.eglChooseConfig(display, configSpec, null, 0, mValue)) {
|
if (!egl.eglChooseConfig(display, configSpec, null, 0, val)) {
|
||||||
throw new IllegalArgumentException("eglChooseConfig failed");
|
throw new IllegalArgumentException("eglChooseConfig failed");
|
||||||
}
|
}
|
||||||
int numConfigs = mValue[0];
|
int numConfigs = val[0];
|
||||||
|
|
||||||
if (numConfigs <= 0) {
|
if (numConfigs <= 0) {
|
||||||
stencilSize = 4;
|
|
||||||
|
|
||||||
configSpec = new int[] {
|
configSpec = new int[] {
|
||||||
// EGL10.EGL_RENDERABLE_TYPE, 4, EGL10.EGL_NONE };
|
// EGL10.EGL_RENDERABLE_TYPE, 4, EGL10.EGL_NONE };
|
||||||
@@ -52,21 +42,19 @@ public class GlConfigChooser implements GLSurfaceView.EGLConfigChooser {
|
|||||||
EGL10.EGL_STENCIL_SIZE, 8,
|
EGL10.EGL_STENCIL_SIZE, 8,
|
||||||
EGL10.EGL_NONE };
|
EGL10.EGL_NONE };
|
||||||
|
|
||||||
if (!egl.eglChooseConfig(display, configSpec, null, 0, mValue)) {
|
if (!egl.eglChooseConfig(display, configSpec, null, 0, val)) {
|
||||||
throw new IllegalArgumentException("eglChooseConfig failed");
|
throw new IllegalArgumentException("eglChooseConfig failed");
|
||||||
}
|
}
|
||||||
numConfigs = mValue[0];
|
numConfigs = val[0];
|
||||||
|
|
||||||
if (numConfigs <= 0) {
|
if (numConfigs <= 0) {
|
||||||
throw new IllegalArgumentException("No configs match configSpec");
|
throw new IllegalArgumentException("No configs match configSpec");
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
stencilSize = 8;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get all matching configurations.
|
// Get all matching configurations.
|
||||||
EGLConfig[] configs = new EGLConfig[numConfigs];
|
EGLConfig[] configs = new EGLConfig[numConfigs];
|
||||||
if (!egl.eglChooseConfig(display, configSpec, configs, numConfigs, mValue)) {
|
if (!egl.eglChooseConfig(display, configSpec, configs, numConfigs, val)) {
|
||||||
throw new IllegalArgumentException("data eglChooseConfig failed");
|
throw new IllegalArgumentException("data eglChooseConfig failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -75,83 +63,10 @@ public class GlConfigChooser implements GLSurfaceView.EGLConfigChooser {
|
|||||||
// configurations are considered to be "better" and returned first.
|
// configurations are considered to be "better" and returned first.
|
||||||
// You need to explicitly filter the data returned by eglChooseConfig!
|
// You need to explicitly filter the data returned by eglChooseConfig!
|
||||||
|
|
||||||
// for (int i = 0; i < configs.length; ++i) {
|
EGLConfig config = configs.length > 0 ? configs[0] : null;
|
||||||
// log.info(configs[i]));
|
|
||||||
// }
|
|
||||||
|
|
||||||
// int index = -1;
|
|
||||||
// for (int i = 0; i < configs.length; ++i) {
|
|
||||||
// // if (findConfigAttrib(egl, display, configs[i], EGL10.EGL_RED_SIZE, 0) == 8
|
|
||||||
// // &&
|
|
||||||
// // findConfigAttrib(egl, display, configs[i], EGL10.EGL_ALPHA_SIZE, 0) == 0) {
|
|
||||||
// // index = i;
|
|
||||||
// // break;
|
|
||||||
// // }
|
|
||||||
// // else
|
|
||||||
// if (findConfigAttrib(egl, display, configs[i], EGL10.EGL_RED_SIZE, 0) == 8
|
|
||||||
// &&
|
|
||||||
// findConfigAttrib(egl, display, configs[i], EGL10.EGL_ALPHA_SIZE, 0) == 0
|
|
||||||
// &&
|
|
||||||
// findConfigAttrib(egl, display, configs[i], EGL10.EGL_DEPTH_SIZE, 0) == 24) {
|
|
||||||
// index = i;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (index == -1) {
|
|
||||||
// log.warn(using first");
|
|
||||||
// index = 0;
|
|
||||||
// }
|
|
||||||
int index = 0;
|
|
||||||
|
|
||||||
//log.info(configs[index]);
|
|
||||||
|
|
||||||
EGLConfig config = configs.length > 0 ? configs[index] : null;
|
|
||||||
if (config == null) {
|
if (config == null) {
|
||||||
throw new IllegalArgumentException("No config chosen");
|
throw new IllegalArgumentException("No config chosen");
|
||||||
}
|
}
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
// from quake2android
|
|
||||||
private String printConfig(EGL10 egl, EGLDisplay display,
|
|
||||||
EGLConfig config) {
|
|
||||||
|
|
||||||
int r = findConfigAttrib(egl, display, config, EGL10.EGL_RED_SIZE, 0);
|
|
||||||
int g = findConfigAttrib(egl, display, config, EGL10.EGL_GREEN_SIZE, 0);
|
|
||||||
int b = findConfigAttrib(egl, display, config, EGL10.EGL_BLUE_SIZE, 0);
|
|
||||||
int a = findConfigAttrib(egl, display, config, EGL10.EGL_ALPHA_SIZE, 0);
|
|
||||||
int d = findConfigAttrib(egl, display, config, EGL10.EGL_DEPTH_SIZE, 0);
|
|
||||||
int s = findConfigAttrib(egl, display, config, EGL10.EGL_STENCIL_SIZE, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EGL_CONFIG_CAVEAT value #define EGL_NONE 0x3038 #define
|
|
||||||
* EGL_SLOW_CONFIG 0x3050 #define
|
|
||||||
* EGL_NON_CONFORMANT_CONFIG 0x3051
|
|
||||||
*/
|
|
||||||
|
|
||||||
return String.format("EGLConfig rgba=%d%d%d%d depth=%d stencil=%d",
|
|
||||||
Integer.valueOf(r), Integer.valueOf(g),
|
|
||||||
Integer.valueOf(b), Integer.valueOf(a), Integer.valueOf(d),
|
|
||||||
Integer.valueOf(s))
|
|
||||||
+ " native="
|
|
||||||
+ findConfigAttrib(egl, display, config, EGL10.EGL_NATIVE_RENDERABLE, 0)
|
|
||||||
+ " buffer="
|
|
||||||
+ findConfigAttrib(egl, display, config, EGL10.EGL_BUFFER_SIZE, 0)
|
|
||||||
+ String.format(
|
|
||||||
" caveat=0x%04x",
|
|
||||||
Integer.valueOf(findConfigAttrib(egl, display, config,
|
|
||||||
EGL10.EGL_CONFIG_CAVEAT, 0)));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private int findConfigAttrib(EGL10 egl, EGLDisplay display, EGLConfig config,
|
|
||||||
int attribute, int defaultValue) {
|
|
||||||
if (egl.eglGetConfigAttrib(display, config, attribute, mValue)) {
|
|
||||||
return mValue[0];
|
|
||||||
}
|
|
||||||
return defaultValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
private int[] mValue;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import org.oscim.layers.tile.vector.VectorTileLayer;
|
|||||||
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||||
import org.oscim.map.Map;
|
import org.oscim.map.Map;
|
||||||
import org.oscim.map.Viewport;
|
import org.oscim.map.Viewport;
|
||||||
import org.oscim.renderer.GLState;
|
|
||||||
import org.oscim.renderer.GridRenderer;
|
import org.oscim.renderer.GridRenderer;
|
||||||
import org.oscim.renderer.MapRenderer;
|
import org.oscim.renderer.MapRenderer;
|
||||||
import org.oscim.theme.InternalRenderTheme;
|
import org.oscim.theme.InternalRenderTheme;
|
||||||
@@ -105,9 +104,6 @@ public abstract class GdxMap implements ApplicationListener {
|
|||||||
* also render frame FIXME (does nothing atm)
|
* also render frame FIXME (does nothing atm)
|
||||||
*/
|
*/
|
||||||
private void redrawMapInternal(boolean forceRedraw) {
|
private void redrawMapInternal(boolean forceRedraw) {
|
||||||
// FIXME needed?
|
|
||||||
GLState.blend(false);
|
|
||||||
GLState.test(false, false);
|
|
||||||
|
|
||||||
updateLayers();
|
updateLayers();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user