Android Open Source - RollOverSphere---a-simple-libgdx-game Cube Mesh With Normals






From Project

Back to project page RollOverSphere---a-simple-libgdx-game.

License

The source code is released under:

MIT License

If you think the Android project RollOverSphere---a-simple-libgdx-game 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.igorcrevar.rolloverchuck.mesh;
//from  w  ww .j  ava 2s  .c o  m
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Mesh;
import com.badlogic.gdx.graphics.VertexAttribute;
import com.badlogic.gdx.graphics.glutils.ShaderProgram;
import com.igorcrevar.rolloverchuck.GameData;

public class CubeMeshWithNormals implements IMesh {
private Mesh mesh;
  
  public CubeMeshWithNormals(GameData gameData) {
    mesh = getMesh(0.5f);
  }
  
  @Override
  public void draw(ShaderProgram shaderProgram) {
    mesh.render(shaderProgram, GL20.GL_TRIANGLES);
  }

  @Override
  public void dispose() {
    mesh.dispose();
  }

  private Mesh getMesh(float size) {
    short[] indices = new short[36];
    int index = 0;
    for (int i = 0; i < 6; ++i) {
      indices[index++] = (short)(i * 4);
      indices[index++] = (short)(i * 4 + 1);
      indices[index++] = (short)(i * 4 + 3);
      indices[index++] = (short)(i * 4 + 0);
      indices[index++] = (short)(i * 4 + 3);
      indices[index++] = (short)(i * 4 + 2);
    }
  
    float color = Color.toFloatBits(255, 255, 255, 255);
    float[] vertices = new float[] {
      -size, -size,  size, color, 0.0f, 0.0f, 1.0f,
             size, -size,  size, color, 0.0f, 0.0f, 1.0f,
            -size,  size,  size, color, 0.0f, 0.0f, 1.0f,
             size,  size,  size, color, 0.0f, 0.0f, 1.0f,

             size, -size,  size, color, 1.0f, 0.0f, 0.0f,
             size, -size, -size, color, 1.0f, 0.0f, 0.0f,        
             size,  size,  size, color, 1.0f, 0.0f, 0.0f,
             size,  size, -size, color, 1.0f, 0.0f, 0.0f,

             size, -size, -size, color, 0.0f, 0.0f, -1.0f,
            -size, -size, -size, color, 0.0f, 0.0f, -1.0f,           
             size,  size, -size, color, 0.0f, 0.0f, -1.0f,
            -size,  size, -size, color, 0.0f, 0.0f, -1.0f,

            -size, -size, -size, color, -1.0f, 0.0f, 0.0f,
            -size, -size,  size, color, -1.0f, 0.0f, 0.0f,        
            -size,  size, -size, color, -1.0f, 0.0f, 0.0f,
            -size,  size,  size, color, -1.0f, 0.0f, 0.0f,

            -size, -size, -size, color, 0.0f, -1.0f, 0.0f,
             size, -size, -size, color, 0.0f, -1.0f, 0.0f,        
            -size, -size,  size, color, 0.0f, -1.0f, 0.0f,
             size, -size,  size, color, 0.0f, -1.0f, 0.0f,

            -size,  size,  size, color, 0.0f, 1.0f, 0.0f,
             size,  size,  size, color, 0.0f, 1.0f, 0.0f,          
            -size,  size, -size, color, 0.0f, 1.0f, 0.0f,
             size,  size, -size, color, 0.0f, 1.0f, 0.0f,};
     
    // populate normal also
        Mesh newMesh = new Mesh(true, vertices.length / 7, indices.length, VertexAttribute.Position(), VertexAttribute.Color(), VertexAttribute.Normal());
        newMesh.setVertices(vertices);
        newMesh.setIndices(indices);
        return newMesh;
  }
}




Java Source Code List

com.google.example.games.basegameutils.GameHelperUtils.java
com.google.example.games.basegameutils.GameHelper.java
com.igorcrevar.rolloverchuck.DesktopRunner.java
com.igorcrevar.rolloverchuck.GameConsts.java
com.igorcrevar.rolloverchuck.GameData.java
com.igorcrevar.rolloverchuck.GameListener.java
com.igorcrevar.rolloverchuck.GameManager.java
com.igorcrevar.rolloverchuck.GameType.java
com.igorcrevar.rolloverchuck.IActivityRequestHandler.java
com.igorcrevar.rolloverchuck.ISceneManager.java
com.igorcrevar.rolloverchuck.IScene.java
com.igorcrevar.rolloverchuck.mesh.CubeMeshWithNormals.java
com.igorcrevar.rolloverchuck.mesh.CubeMesh.java
com.igorcrevar.rolloverchuck.mesh.FieldMesh.java
com.igorcrevar.rolloverchuck.mesh.IMesh.java
com.igorcrevar.rolloverchuck.mesh.SphereMesh.java
com.igorcrevar.rolloverchuck.objects.BoxObject.java
com.igorcrevar.rolloverchuck.objects.ChuckObject.java
com.igorcrevar.rolloverchuck.objects.ChuckSpriteObject.java
com.igorcrevar.rolloverchuck.objects.EndGameButtonsObject.java
com.igorcrevar.rolloverchuck.objects.FieldObject.java
com.igorcrevar.rolloverchuck.objects.GameButton.java
com.igorcrevar.rolloverchuck.objects.IntroSceneButtonsObject.java
com.igorcrevar.rolloverchuck.objects.MainWallObject.java
com.igorcrevar.rolloverchuck.objects.StarsObject.java
com.igorcrevar.rolloverchuck.objects.TextButton.java
com.igorcrevar.rolloverchuck.objects.TrailObject.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxManager.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxRegionManager.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxRegion.java
com.igorcrevar.rolloverchuck.objects.boxes.BoxTypeFactory.java
com.igorcrevar.rolloverchuck.objects.boxes.IBoxRegion.java
com.igorcrevar.rolloverchuck.objects.boxes.IBoxType.java
com.igorcrevar.rolloverchuck.physics.CollisionSolver.java
com.igorcrevar.rolloverchuck.physics.ICollisionIterationHandler.java
com.igorcrevar.rolloverchuck.physics.SphereMoving.java
com.igorcrevar.rolloverchuck.points.PlayerPoint.java
com.igorcrevar.rolloverchuck.points.PointsManager.java
com.igorcrevar.rolloverchuck.scenes.GameLoadingScene.java
com.igorcrevar.rolloverchuck.scenes.GameScene.java
com.igorcrevar.rolloverchuck.scenes.IntroScene.java
com.igorcrevar.rolloverchuck.scenes.GameMode.ArcadeGameMode.java
com.igorcrevar.rolloverchuck.scenes.GameMode.IGameMode.java
com.igorcrevar.rolloverchuck.scenes.GameMode.StressFreeGameMode.java
com.igorcrevar.rolloverchuck.utils.CollisionHelper.java
com.igorcrevar.rolloverchuck.utils.GameHelper.java
com.igorcrevar.rolloverchuck.utils.IMyFontDrawerFont.java
com.igorcrevar.rolloverchuck.utils.Mathf.java
com.igorcrevar.rolloverchuck.utils.MyFontDrawerBatch.java
com.igorcrevar.rolloverchuck.utils.MyFontDrawerDefaultFont.java
com.igorcrevar.rolloverchuck.utils.MyFontDrawer.java
com.igorcrevar.rolloverchuck.utils.ShaderAssetLoader.java
com.wayilookatgames.rolloverball.MainActivity.java