@Override public void onCreate(Bundle savedInstanceState) { Logger.log("onCreate"); if (master != null) { copy(master); } super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow() .setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); mGLView = new GLSurfaceView(getApplication()); mGLView.setEGLConfigChooser( new GLSurfaceView.EGLConfigChooser() { public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) { // Ensure that we get a 16bit framebuffer. Otherwise, we'll fall // back to Pixelflinger on some device (read: Samsung I7500) int[] attributes = new int[] {EGL10.EGL_DEPTH_SIZE, 16, EGL10.EGL_NONE}; EGLConfig[] configs = new EGLConfig[1]; int[] result = new int[1]; egl.eglChooseConfig(display, attributes, configs, 1, result); return configs[0]; } }); mGLView.setLayoutParams( new FrameLayout.LayoutParams( FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.FILL_PARENT)); mGLView.setRenderer(new BRenderer()); this.setContentView(mGLView); wakeLock = getWakeLock(this, TAG); }
@Override protected void onCreate(final Bundle savedInstanceState) { Logger.log("onCreate"); super.onCreate(savedInstanceState); if (scene == null) scene = new RenderableScene(this); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow() .setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); this.mGLView = new GLSurfaceView(this.getApplication()); this.mGLView.setEGLConfigChooser( new GLSurfaceView.EGLConfigChooser() { @Override public EGLConfig chooseConfig(final EGL10 egl, final EGLDisplay display) { // Ensure that we get a 16bit framebuffer. Otherwise, we'll fall // back to Pixelflinger on some device (read: Samsung I7500) final int[] attributes = new int[] {EGL10.EGL_DEPTH_SIZE, 16, EGL10.EGL_NONE}; final EGLConfig[] configs = new EGLConfig[1]; final int[] result = new int[1]; egl.eglChooseConfig(display, attributes, configs, 1, result); return configs[0]; } }); this.mGLView.setRenderer(scene); this.setContentView(this.mGLView); this.addContentView( this.getLayoutInflater().inflate(R.layout.activity_main, null), new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); }
private void copy(Object src) { try { Logger.log("Copying data from master Activity!"); Field[] fs = src.getClass().getDeclaredFields(); for (Field f : fs) { f.setAccessible(true); f.set(this, f.get(src)); } } catch (Exception e) { throw new RuntimeException(e); } }
@Override public void onDrawFrame(GL10 gl) { // if (touchTurn != 0) { // cube.rotateY(touchTurn); // touchTurn = 0; // } // // if (touchTurnUp != 0) { // cube.rotateX(touchTurnUp); // touchTurnUp = 0; // } // up++; if (up == 1 && cnt > 330) { up = -1; } else if (up == -1 && cnt < -130) { up = 1; } cnt += up; for (byte i = 0; i < BUBBLES; i++) { float x = i == 0 ? 0.08f * up : 0.0f; float y = i == 1 ? 0.15f * up : 0.0f; bubbles[i].translate( i == 3 ? -(0.1f * up) : x, /*translate[0] +*/ i == 2 ? -(0.15f * up) : y, 0.0f); // bubbles[i].scale(0.01f); // bubbles[i].animate(3 * x); } fb.clear(/*back*/ ); world.renderScene(fb); world.draw(fb); fb.display(); if (System.currentTimeMillis() - time >= 1000) { Logger.log(fps + "fps"); fps = 0; time = System.currentTimeMillis(); } fps++; }
public void onDrawFrame(GL10 gl) { if (Util.touchTurn != 0) { obj1.rotateY(Util.touchTurn); Util.touchTurn = 0; } if (Util.touchTurnUp != 0) { obj1.rotateX(Util.touchTurnUp); Util.touchTurnUp = 0; } fb.clear(back); world.renderScene(fb); world.draw(fb); fb.display(); if (System.currentTimeMillis() - time >= 1000) { Logger.log(fps + "fps"); fps = 0; time = System.currentTimeMillis(); } fps++; }
@Override public void onSurfaceChanged(GL10 gl, int width, int height) { if (fb != null) { fb.dispose(); } fb = new FrameBuffer(gl, width, height); if (master == null) { world = new World(); world.setAmbientLight(20, 20, 20); sun = new Light(world); sun.setIntensity(250, 250, 250); Texture texture = new Texture(BitmapHelper.convert(getResources().getDrawable(R.drawable.bublebgnd))); TextureManager.getInstance().addTexture("bublebgnd", texture); // Create a texture out of the icon...:-) texture = new Texture( BitmapHelper.rescale( BitmapHelper.convert(getResources().getDrawable(R.drawable.icon)), 64, 64)); TextureManager.getInstance().addTexture("tex", texture); bubbles = new Object3D[BUBBLES]; for (byte i = 0; i < BUBBLES; i++) { Object3D bubble = Primitives.getSphere(8); bubble.calcTextureWrapSpherical(); // bubble.setCulling(true); bubble.translate(-30 + i * 20, 30.0f, 0.0f); bubble.setTransparency(70); // bubble.rotateX(-(float) Math.PI / Math.abs(r.nextInt()/3)); bubble.setTexture("tex"); bubble.strip(); bubble.build(); bubbles[i] = bubble; } background = Primitives.getPlane(1, 110f); // background.$ // background.calcTextureWrapSpherical(); background.setTexture("bublebgnd"); background.strip(); background.build(); world.addObject(background); // world. world.addObjects(bubbles); Camera cam = world.getCamera(); cam.moveCamera(Camera.CAMERA_MOVEOUT, 70); cam.lookAt(background.getTransformedCenter()); // cam.lookAt(bubbles.getTransformedCenter()); SimpleVector sv = new SimpleVector(); sv.set(background.getTransformedCenter()); sv.y -= 100; sv.z -= 100; sun.setPosition(sv); MemoryHelper.compact(); if (master == null) { Logger.log("Saving master Activity!"); master = BubblesActivity.this; } } }