Android Open Source - min3d Example Animating Vertices






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;
//from   w  w w .  ja  va 2s  . co m
import android.graphics.Bitmap;

import com.min3d.lib.Shared;
import com.min3d.lib.Utils;
import com.min3d.lib.core.Object3dContainer;
import com.min3d.lib.core.RendererActivity;
import com.min3d.lib.objectPrimitives.Rectangle;
import com.min3d.lib.vos.Color4;
import com.min3d.lib.vos.Number3d;

/**
 * Example of accessing and changing vertex data.
 * Specifically, we're animating the position of one vertex.
 * 
 * The same could be done for vertex colors, normal, or texture coordinates.
 * 
 * @author Lee
 */
public class ExampleAnimatingVertices extends RendererActivity
{
  Object3dContainer _plane;

  Number3d _defaultPosUL;
  Number3d _defaultPosLR;
  
  int _count;

  
  public void initScene() 
  {
    // Set size of the plane using the same aspect ratio of source image
    Bitmap b = Utils.makeBitmapFromResourceId(this, R.drawable.deadmickey);
    float w = 2f;
    float h = w * (float)b.getHeight() / (float)b.getWidth();; 
    
    _plane = new Rectangle(w, h, 1,1, new Color4());
    _plane.doubleSidedEnabled(true); // ... so that the back of the plane is visible
    _plane.normalsEnabled(false);
    scene.addChild(_plane);

    Shared.textureManager().addTextureId(b, "mickey", false);
    _plane.textures().addById("mickey");
    
    b.recycle();

    //  Get the coordinates of the point at vertex number 0 (the upper-left vertex of the plane)
    //  and put its values in a Number3d. Same for lower-right vertex.
    _defaultPosUL = _plane.points().getAsNumber3d(0);
    _defaultPosLR = _plane.points().getAsNumber3d(3);

    _count = 0;
  }

  @Override 
  public void updateScene() 
  {
    // Change the values for the positions of the upperleft and lower right vertices
    
    float offset = (25f - (float)(_count % 25)) * 0.02f; // ... sure wish I knew of a nice Java tweener class
    offset *= offset;

    _plane.points().set(0, _defaultPosUL.x - offset, _defaultPosUL.y + offset, _defaultPosUL.z);

    offset = (25f - (float)((_count +13) % 25)) * 0.02f;
    offset *= offset;
    
    _plane.points().set(3, _defaultPosLR.x + offset, _defaultPosLR.y - offset, _defaultPosLR.z);
    
    _plane.rotation().y++;
    
    _count++;
  }
}




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