@SuppressWarnings("fallthrough")
    @Override
    public void initialize() {
        loadCapabilities();

        // Initialize default state..
        gl.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1);

        if (caps.contains(Caps.SeamlessCubemap)) {
            // Enable this globally. Should be OK.
            gl.glEnable(GLExt.GL_TEXTURE_CUBE_MAP_SEAMLESS);
        }

        if (caps.contains(Caps.CoreProfile)) {
            // Core Profile requires VAO to be bound.
            if(gl3!=null){
                gl3.glGenVertexArrays(intBuf16);
                int vaoId = intBuf16.get(0);
                gl3.glBindVertexArray(vaoId);
            }else if(gl instanceof GLES_30){
                ((GLES_30)gl).glGenVertexArrays(intBuf16);
                int vaoId = intBuf16.get(0);
                ((GLES_30)gl).glBindVertexArray(vaoId);                
            }   else{
                throw new UnsupportedOperationException("Core profile not supported");
            }
        }
        if (gl2 != null && !(gl instanceof GLES_30)) {
            gl2.glEnable(GL2.GL_VERTEX_PROGRAM_POINT_SIZE);
            if (!caps.contains(Caps.CoreProfile)) {
                gl2.glEnable(GL2.GL_POINT_SPRITE);
            }
        }

        IntBuffer tmp = BufferUtils.createIntBuffer(16);
        gl.glGetInteger(GL.GL_FRAMEBUFFER_BINDING, tmp);
        tmp.rewind();
        int fbOnLoad = tmp.get();
        if(fbOnLoad > 0)
        {
            // Override default FB to fbOnLoad. Mostly an iOS fix for scene processors and filters.
            defaultFBO = fbOnLoad;
        }
    }
Enable/Disable default automatic generation of mipmaps for framebuffers
@param v  Default is true
jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java