@@ -0,0 +1,2871 @@
+package shadowcraft.desktop;%0A%0Aimport com.badlogic.gdx.ApplicationAdapter;%0Aimport com.badlogic.gdx.Gdx;%0Aimport com.badlogic.gdx.graphics.Color;%0Aimport com.badlogic.gdx.graphics.GL20;%0Aimport com.badlogic.gdx.graphics.PerspectiveCamera;%0Aimport com.badlogic.gdx.graphics.VertexAttributes.Usage;%0Aimport com.badlogic.gdx.graphics.g3d.Environment;%0Aimport com.badlogic.gdx.graphics.g3d.Material;%0Aimport com.badlogic.gdx.graphics.g3d.Model;%0Aimport com.badlogic.gdx.graphics.g3d.ModelBatch;%0Aimport com.badlogic.gdx.graphics.g3d.ModelInstance;%0Aimport com.badlogic.gdx.graphics.g3d.attributes.ColorAttribute;%0Aimport com.badlogic.gdx.graphics.g3d.environment.DirectionalLight;%0Aimport com.badlogic.gdx.graphics.g3d.utils.CameraInputController;%0Aimport com.badlogic.gdx.graphics.g3d.utils.ModelBuilder;%0A%0Apublic class Main extends ApplicationAdapter %7B%0A%0A  public Environment environment;%0A  public PerspectiveCamera cam;%0A  public ModelBatch modelBatch;%0A  public Model model;%0A  public ModelInstance instance;%0A  public CameraInputController camController;%0A%0A  @Override%0A  public void create() %7B%0A    initCam();%0A    initModelStuff();%0A    initEnvironment();%0A%0A    initCamController();%0A  %7D%0A%0A  private void initCam() %7B%0A    cam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());%0A    cam.position.set(10f, 10f, 10f);%0A    cam.lookAt(0, 0, 0);%0A    cam.near = 1f;%0A    cam.far = 300f;%0A    cam.update();%0A  %7D%0A%0A  private void initModelStuff() %7B%0A    modelBatch = new ModelBatch();%0A%0A    ModelBuilder modelBuilder = new ModelBuilder();%0A    model = modelBuilder.createBox(5f, 0.2f, 5f, new Material(ColorAttribute.createDiffuse(Color.GREEN)), Usage.Position %7C Usage.Normal);%0A    instance = new ModelInstance(model);%0A  %7D%0A%0A  private void initEnvironment() %7B%0A    environment = new Environment();%0A    environment.set(new ColorAttribute(ColorAttribute.AmbientLight, 0.4f, 0.4f, 0.4f, 1f));%0A    environment.add(new DirectionalLight().set(0.8f, 0.8f, 0.8f, -1f, -0.8f, -0.2f));%0A  %7D%0A%0A  private void initCamController() %7B%0A    camController = new CameraInputController(cam);%0A    Gdx.input.setInputProcessor(camController);%0A  %7D%0A%0A  @Override%0A  public void resize(int width, int height) %7B%0A    System.out.println(String.format(%22resize to %25dx%25d%22, width, height));%0A%0A  %7D%0A%0A  @Override%0A  public void render() %7B%0A    Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());%0A    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT %7C GL20.GL_DEPTH_BUFFER_BIT);%0A%0A    modelBatch.begin(cam);%0A    modelBatch.render(instance, environment);%0A    modelBatch.end();%0A%0A    Gdx.graphics.setTitle(%22ShadowCraft - %22 + Gdx.graphics.getFramesPerSecond());%0A  %7D%0A%0A  @Override%0A  public void pause() %7B%0A    // TODO Auto-generated method stub%0A%0A  %7D%0A%0A  @Override%0A  public void resume() %7B%0A    // TODO Auto-generated method stub%0A%0A  %7D%0A%0A  @Override%0A  public void dispose() %7B%0A    modelBatch.dispose();%0A    model.dispose();%0A  %7D%0A%0A%7D%0A

Create Main.java