Android Open Source - min3d Example Transparent Gl Surface






From Project

Back to project page min3d.

License

The source code is released under:

MIT License

If you think the Android project min3d listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.min3d;
//  w w  w . j a  v a2s. co m
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.view.View;

import com.min3d.lib.core.RendererActivity;
import com.min3d.lib.objectPrimitives.Box;
import com.min3d.lib.vos.Light;

/**
 * Example of implementing a transparent GLSurfaceView.
 * 
 *   (a) Override glSurfaceViewConfig() to configure glSurfaceView for transparency as shown
 *   (b) Set the scene's backgroundColor to 0x00000000 (black with 0-alpha) 
 * 
 * If you were to place any 2D elements (images, etc) in the Activity "behind" glSurface,
 * they would be now visible.
 * 
 * In this example, instead of doing that, the Activity itself is set to transparent,  
 * allowing the underlying Activity to show through... (See the manifest xml -- 
 * "android:theme="@android:style/Theme.Translucent.NoTitleBar")
 * 
 * @author Lee
 */
public class ExampleTransparentGlSurface extends RendererActivity
{
  private final int NUM = 25;
  
  private Box[] boxes;

  
    @Override 
  protected void glSurfaceViewConfig()
    {
    // !important
        _glSurfaceView.setEGLConfigChooser(8,8,8,8, 16, 0);
        _glSurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
    }
  
  @Override
  public void initScene() 
  {
    // !important
    scene.backgroundColor().setAll(0x00000000);

    Light light = new Light();
      scene.lights().add(light);

    boxes = new Box[NUM];
    for (int i = 0; i < NUM; i++) {
      Box box = new Box(0.5f,0.5f,0.5f);
      box.vertexColorsEnabled(false);
      box.position().x = (float) (-1.5 + Math.random()*3);
      box.position().y = (float) (-4 + Math.random()*8);
      box.position().z = (float) (-1.5 + Math.random()*3);
      box.rotation().x = (float) (Math.random()*360);
      box.rotation().y = (float) (Math.random()*360);
      boxes[i] = box;
         scene.addChild(box);
    }
  }

  @Override 
  protected void onCreate(Bundle savedInstanceState) 
  {
    super.onCreate(savedInstanceState);
    
    _glSurfaceView.setOnClickListener( 
      new View.OnClickListener() {
          public void onClick(View v) {
            finish();
          }
      }
    );
  }
  
  @Override 
  public void updateScene() 
  {
    for (int i = 0; i < NUM; i++) {
      boxes[i].rotation().x += 2;
      boxes[i].rotation().y += 1;
      boxes[i].position().y -= .075;
      if (boxes[i].position().y < -4) {
        boxes[i].position().y = 4;
        boxes[i].position().x = (float) (-1.5 + Math.random()*3);
        boxes[i].position().z = (float) (-1.5 + Math.random()*3);
      }
    }
  }  
}




Java Source Code List

com.min3d.ApplicationTest.java
com.min3d.ExampleAccelerometer.java
com.min3d.ExampleAnimatedTexture.java
com.min3d.ExampleAnimatingVertices.java
com.min3d.ExampleAssigningTexturesDynamically.java
com.min3d.ExampleCamera.java
com.min3d.ExampleFog.java
com.min3d.ExampleFromScratch.java
com.min3d.ExampleInsideLayout.java
com.min3d.ExampleKeyframeAnimation.java
com.min3d.ExampleLightProperties.java
com.min3d.ExampleLoad3DSFile.java
com.min3d.ExampleLoadMD2File.java
com.min3d.ExampleLoadObjFileMultiple.java
com.min3d.ExampleLoadObjFile.java
com.min3d.ExampleMipMap.java
com.min3d.ExampleMostMinimal.java
com.min3d.ExampleMultiTexture.java
com.min3d.ExampleMultipleLights.java
com.min3d.ExampleRenderType.java
com.min3d.ExampleRotatingPlanets.java
com.min3d.ExampleSubsetOfFaces.java
com.min3d.ExampleTextureOffset.java
com.min3d.ExampleTextureWrap.java
com.min3d.ExampleTextures.java
com.min3d.ExampleTransparentGlSurface.java
com.min3d.ExampleVertexColors.java
com.min3d.ExampleVerticesVariations.java
com.min3d.ScratchActivity.java
com.min3d.SplashActivity.java
com.min3d.lib.AParser.java
com.min3d.lib.ApplicationTest.java
com.min3d.lib.IParser.java
com.min3d.lib.LittleEndianDataInputStream.java
com.min3d.lib.MD2Parser.java
com.min3d.lib.Max3DSParser.java
com.min3d.lib.Min3d.java
com.min3d.lib.ObjParser.java
com.min3d.lib.ParseObjectData.java
com.min3d.lib.ParseObjectFace.java
com.min3d.lib.Parser.java
com.min3d.lib.Shared.java
com.min3d.lib.Utils.java
com.min3d.lib.animation.AnimationObject3d.java
com.min3d.lib.animation.KeyFrame.java
com.min3d.lib.core.Color4BufferList.java
com.min3d.lib.core.FacesBufferedList.java
com.min3d.lib.core.ManagedLightList.java
com.min3d.lib.core.Number3dBufferList.java
com.min3d.lib.core.Object3dContainer.java
com.min3d.lib.core.Object3d.java
com.min3d.lib.core.RenderCaps.java
com.min3d.lib.core.RendererActivity.java
com.min3d.lib.core.Renderer.java
com.min3d.lib.core.Scene.java
com.min3d.lib.core.TextureList.java
com.min3d.lib.core.TextureManager.java
com.min3d.lib.core.UvBufferList.java
com.min3d.lib.core.Vertices.java
com.min3d.lib.interfaces.IDirtyManaged.java
com.min3d.lib.interfaces.IDirtyParent.java
com.min3d.lib.interfaces.IObject3dContainer.java
com.min3d.lib.interfaces.ISceneController.java
com.min3d.lib.objectPrimitives.Box.java
com.min3d.lib.objectPrimitives.HollowCylinder.java
com.min3d.lib.objectPrimitives.Rectangle.java
com.min3d.lib.objectPrimitives.SkyBox.java
com.min3d.lib.objectPrimitives.Sphere.java
com.min3d.lib.objectPrimitives.Torus.java
com.min3d.lib.vos.AbstractDirtyManaged.java
com.min3d.lib.vos.BooleanManaged.java
com.min3d.lib.vos.CameraVo.java
com.min3d.lib.vos.Color4Managed.java
com.min3d.lib.vos.Color4.java
com.min3d.lib.vos.Face.java
com.min3d.lib.vos.FloatManaged.java
com.min3d.lib.vos.FogType.java
com.min3d.lib.vos.FrustumManaged.java
com.min3d.lib.vos.LightType.java
com.min3d.lib.vos.Light.java
com.min3d.lib.vos.Number3dManaged.java
com.min3d.lib.vos.Number3d.java
com.min3d.lib.vos.RenderType.java
com.min3d.lib.vos.ShadeModelManaged.java
com.min3d.lib.vos.ShadeModel.java
com.min3d.lib.vos.TexEnvxVo.java
com.min3d.lib.vos.TextureVo.java
com.min3d.lib.vos.Uv.java
com.min3d.lib.vos.Vertex3d.java