Android Open Source - Look Cube From Project Back to project page Look .
License The source code is released under:
======================
LOOK! LICENSING TERMS
======================
look! is licensed under the BSD 3-Clause (also known as "BSD New" or
"BSD Simplified"), as follows:
Copyright (c) 2010-2012, Look...
If you think the Android project Look 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 /**
*-----------------------------------------------------------------------------
* Copyright (c) 2012, Look! Development Team
* All rights reserved./ / w w w . j a v a 2 s . c o m
*
* Distributed under the terms of the BSD Simplified License.
*
* The full license is in the LICENSE file, distributed with this software.
*-----------------------------------------------------------------------------
*/
package es.ucm.look.ar.ar3D.core.drawables.primitives;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import javax.microedition.khronos.opengles.GL10;
import es.ucm.look.ar.ar3D.core.drawables.Mesh3D;
import es.ucm.look.ar.math.collision.SphericalArmature;
import es.ucm.look.ar.math.geom.Point3;
public class Cube extends Mesh3D {
public static final String DRAWABLE_NAME = "cube" ;
private ByteBuffer indexBuffer;
private float vertices[] = {
-1.0f, -1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
1.0f, -1.0f, -1.0f,
1.0f, 1.0f, 1.0f,
1.0f, 1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
-1.0f, -1.0f, -1.0f,
1.0f, 1.0f, -1.0f,
-1.0f, 1.0f, -1.0f,
-1.0f, -1.0f, -1.0f,
-1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, -1.0f,
-1.0f, 1.0f, 1.0f,
-1.0f, -1.0f, -1.0f,
1.0f, -1.0f, -1.0f,
-1.0f, -1.0f, 1.0f,
1.0f, -1.0f, 1.0f,
-1.0f, 1.0f, 1.0f,
1.0f, 1.0f, 1.0f,
-1.0f, 1.0f, -1.0f,
1.0f, 1.0f, -1.0f,
};
private float normals[] = {
0.0f, 0.0f, 1.0f,
0.0f, 0.0f, -1.0f,
0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f,
0.0f, 0.0f, 1.0f,
0.0f, 0.0f, -1.0f,
0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f,
0.0f, 0.0f, 1.0f,
0.0f, 0.0f, -1.0f,
0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f,
0.0f, 0.0f, 1.0f,
0.0f, 0.0f, -1.0f,
0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f,
0.0f, 0.0f, 1.0f,
0.0f, 0.0f, -1.0f,
0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f,
0.0f, 0.0f, 1.0f,
0.0f, 0.0f, -1.0f,
0.0f, 1.0f, 0.0f,
0.0f, -1.0f, 0.0f,
};
private byte indices[] = {
0,1,3, 0,3,2,
4,5,7, 4,7,6,
8,9,11, 8,11,10,
12,13,15, 12,15,14,
16,17,19, 16,19,18,
20,21,23, 20,23,22,
};
public Cube( ) {
ByteBuffer byteBuf = ByteBuffer.allocateDirect(vertices.length * 4);
byteBuf.order(ByteOrder.nativeOrder());
vertexBuffer = byteBuf.asFloatBuffer();
vertexBuffer.put(vertices);
vertexBuffer.position(0);
byteBuf = ByteBuffer.allocateDirect(normals.length * 4);
byteBuf.order(ByteOrder.nativeOrder());
normalBuffer = byteBuf.asFloatBuffer();
normalBuffer.put(normals);
normalBuffer.position(0);
indexBuffer = ByteBuffer.allocateDirect(indices.length);
indexBuffer.put(indices);
indexBuffer.position(0);
armature = new SphericalArmature( new Point3( 0, 0, 0 ), 2.0f);
}
public void draw(GL10 gl) {
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);
gl.glFrontFace(GL10.GL_CCW);
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);
gl.glNormalPointer(GL10.GL_FLOAT, 0, normalBuffer);
gl.glDrawElements(GL10.GL_TRIANGLES, indices.length, GL10.GL_UNSIGNED_BYTE, indexBuffer);
gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
gl.glDisableClientState(GL10.GL_NORMAL_ARRAY);
}
}
Java Source Code List es.ucm.look.ar.LookAR.java es.ucm.look.ar.Preview.java es.ucm.look.ar.ar2D.AR2D.java es.ucm.look.ar.ar2D.Drawable2D.java es.ucm.look.ar.ar2D.HUDElement.java es.ucm.look.ar.ar2D.drawables.Circle2D.java es.ucm.look.ar.ar2D.drawables.Image2D.java es.ucm.look.ar.ar2D.drawables.Text2D.java es.ucm.look.ar.ar3D.Drawable3D.java es.ucm.look.ar.ar3D.Renderer3D.java es.ucm.look.ar.ar3D.core.Color4.java es.ucm.look.ar.ar3D.core.TextureFactory.java es.ucm.look.ar.ar3D.core.camera.Camera3D.java es.ucm.look.ar.ar3D.core.camera.OrientedCamera.java es.ucm.look.ar.ar3D.core.drawables.DrawablesDataBase.java es.ucm.look.ar.ar3D.core.drawables.Entity3D.java es.ucm.look.ar.ar3D.core.drawables.Mesh3D.java es.ucm.look.ar.ar3D.core.drawables.primitives.CirclePrimitive.java es.ucm.look.ar.ar3D.core.drawables.primitives.Cube.java es.ucm.look.ar.ar3D.core.drawables.primitives.Grid.java es.ucm.look.ar.ar3D.core.drawables.primitives.LinePrimitive.java es.ucm.look.ar.ar3D.core.drawables.primitives.LinesLoopPrimitive.java es.ucm.look.ar.ar3D.core.drawables.primitives.ObjMesh3D.java es.ucm.look.ar.ar3D.core.drawables.primitives.PointPrimitive.java es.ucm.look.ar.ar3D.core.drawables.primitives.Ring.java es.ucm.look.ar.ar3D.core.drawables.primitives.SquarePrimitive.java es.ucm.look.ar.ar3D.core.drawables.primitives.TrianglePrimitive.java es.ucm.look.ar.ar3D.core.drawables.primitives.extra.ImagePrimitive.java es.ucm.look.ar.ar3D.parser.MeshObjParser.java es.ucm.look.ar.hud.ActionListener.java es.ucm.look.ar.hud.BasicHud.java es.ucm.look.ar.hud.Button.java es.ucm.look.ar.hud.HUD.java es.ucm.look.ar.listeners.CameraListener.java es.ucm.look.ar.listeners.TouchListener.java es.ucm.look.ar.math.collision.Armature.java es.ucm.look.ar.math.collision.SphericalArmature.java es.ucm.look.ar.math.collision.SquareArmature.java es.ucm.look.ar.math.collision.debug.DebugArmature.java es.ucm.look.ar.math.collision.debug.SphericalDebugArmature.java es.ucm.look.ar.math.collision.debug.SquareDebugArmature.java es.ucm.look.ar.math.geom.Matrix3.java es.ucm.look.ar.math.geom.Plane.java es.ucm.look.ar.math.geom.Point2.java es.ucm.look.ar.math.geom.Point3.java es.ucm.look.ar.math.geom.Ray.java es.ucm.look.ar.math.geom.Triangle.java es.ucm.look.ar.math.geom.Vector3.java es.ucm.look.ar.util.CameraParametersHelper.java es.ucm.look.ar.util.DeviceOrientation.java es.ucm.look.ar.util.LookARUtil.java es.ucm.look.ar.util.PositionTimerTask.java es.ucm.look.data.EntityData.java es.ucm.look.data.LookData.java es.ucm.look.data.WorldEntityFactory.java es.ucm.look.data.WorldEntity.java es.ucm.look.data.World.java es.ucm.look.data.filesManager.LookFilesManager.java es.ucm.look.data.interfaces.DataGetter.java es.ucm.look.data.interfaces.DataHandler.java es.ucm.look.data.interfaces.DataSetter.java es.ucm.look.data.local.BasicDataHandler.java es.ucm.look.data.local.DBDataHandler.java es.ucm.look.data.local.contentprovider.LookContentProvider.java es.ucm.look.data.local.contentprovider.sql.LookSQLContentProvider.java es.ucm.look.data.local.contentprovider.sql.LookSQLHelper.java es.ucm.look.data.remote.ConfigNet.java es.ucm.look.data.remote.LookProperties.java es.ucm.look.data.remote.RemoteDBHandler.java es.ucm.look.data.remote.restful.LookService.java es.ucm.look.data.remote.restful.RestMethod.java es.ucm.look.data.remote.restful.ServiceManager.java es.ucm.look.location.LocationManager.java es.ucm.look.locationProvider.DeviceSensor.java es.ucm.look.locationProvider.InertialNavigationSystem.java es.ucm.look.locationProvider.LocationProvider.java es.ucm.look.locationProvider.Motion.java es.ucm.look.locationProvider.Positioning.java es.ucm.look.locationProvider.Util.java es.ucm.look.locationProviderWifi.Cliente.java es.ucm.look.locationProviderWifi.WifiLocation.java es.ucm.look.locationProviderWifi.WifiService.java es.ucm.look.locationProviderWifi.util.DateUtils.java es.ucm.look.locationProviderWifi.util.DeviceReader.java es.ucm.look.locationProviderWifi.util.DeviceWriter.java es.ucm.look.locationProviderWifi.wifi.Lugar.java es.ucm.look.locationProviderWifi.wifi.Lugares.java es.ucm.look.locationProviderWifi.wifi.NodoWifi.java es.ucm.look.locationProvider.map.Mapa.java es.ucm.look.locationProvider.test.java