Ardor3D Wiki
Your First Steps
Running some examples
This article assumes you have read and completed the steps in Getting Started with SVN + Eclipse.
(If you use NetBeans you should still be able to follow. )
So you have successfully checked out the absolute latest source code, using the Eclipse IDE and raw SVN ?
Great, next open up the project called ardor3d-examples:
There are several ways in Eclipse to view your project files.
I strongly suggest to use the “Package Explorer”.
If you dont already have it you can open it using “Window → Show View → Other…” and filter for “package explorer”.
You should see the following list of projects:
- ardor3d-animation
- ardor3d-awt
- ardor3d-core
- ardor3d-collada
- ardor3d-effects
- ardor3d-examples
- ardor3d-extras
- ardor3d-jogl
- ardor3d-lwjgl
- ardor3d-swt
- ardor3d-ui
Open up the one called ardor3d-examples
You should see the following nodes in the project:
- src/main/java
- src/main/resources
- JRE System Library [JavaSE-1.6] ( or similar )
- src
- ardor3d-examples.iml
- assembly.xml
- nbactions.xml
- pom.xml
src/main/java contains all the Java code for the examples.
src/main/resources contains all the textures (images) and models (collada and obj format) for the examples.
Open up the node src/main/java
Open up the package com.ardor3d.example
You should see a Java file called ExampleRunner.java
Right click on it and select “Run as → Java Application”
This is should open up a helpful Window listing all the available examples. This is the best way to get a glimpse of what Ardor3D is capable of and a great source of inspiration for your own projects.
Note that you can move around in the 3D view using First Person Shooter style controls:
- W and S moves forward and backward
- A and D moves side ways
- click and drag the mouse to turn the camera
Let's look at some code
Let's take a look at the source code of BoxExample.
Its source code is located in the package: com.ardor3d.example.basic
The file is called BoxExample.java
public class BoxExample extends ExampleBase { /** Keep a reference to the box to be able to rotate it each frame. */ private Mesh box; /** Rotation matrix for the spinning box. */ private final Matrix3 rotate = new Matrix3(); /** Angle of rotation for the box. */ private double angle = 0; /** Axis to rotate the box around. */ private final Vector3 axis = new Vector3(1, 1, 0.5f).normalizeLocal(); public static void main(final String[] args) { start(BoxExample.class); } @Override protected void updateExample(final ReadOnlyTimer timer) { // Update the angle using the current tpf to rotate at a constant speed. angle += timer.getTimePerFrame() * 50; // Wrap the angle to keep it inside 0-360 range angle %= 360; // Update the rotation matrix using the angle and rotation axis. rotate.fromAngleNormalAxis(angle * MathUtils.DEG_TO_RAD, axis); // Update the box rotation using the rotation matrix. box.setRotation(rotate); } @Override protected void initExample() { _canvas.setTitle("Box Example"); // Create a new box centered at (0,0,0) with width/height/depth of size 10. box = new Box("Box", new Vector3(0, 0, 0), 5, 5, 5); // Set a bounding box for frustum culling. box.setModelBound(new BoundingBox()); // Move the box out from the camera 15 units. box.setTranslation(new Vector3(0, 0, -15)); // Give the box some nice colors. box.setRandomColors(); // Attach the box to the scenegraph root. _root.attachChild(box); // Add a texture to the box. final TextureState ts = new TextureState(); ts.setTexture(TextureManager.load("images/ardor3d_white_256.jpg", Texture.MinificationFilter.Trilinear, true)); box.setRenderState(ts); // Add a material to the box, to show both vertex color and lighting/shading. final MaterialState ms = new MaterialState(); ms.setColorMaterial(ColorMaterial.Diffuse); box.setRenderState(ms); } }
For detailed information about each instruction see the upcoming articles in Code Tutorials.
Your First Ardor3D Project
But for now let's just create our own project and change a few instructions:
- Create a new project in Eclipse: “File → New → Project…”
- Select Java Project
- You should see the Eclipse New Java Project wizard
- Enter MyFirstArdor3DProject in the Project name field
- Select Create new project in workspace
- Select Use an execution environment and there select JavaSE-1.6
- Click Next to go to the page Java Settings
- Click on the tab Projects and add all 11 Ardor3D projects as listet prior.
- Click Finish
You should now have a new project called MyFirstArdor3DProject.
Now we will add a new class and copy the BoxExample source code into it and change it.
- Right click on your new project, select “New → Class”
- Enter TorusExample in the Name field
- Enter com.ardor3d.example.ExampleBase in the Superclass field
- Deselect “Inherited abstract methods” for this tutorial, to make things a bit easier.
- Click Finish
- Go back to or open the code of BoxExample.java
- Copy all lines inside of public class BoxExample extends ExampleBase { …HERE… }
- Paste into public class TorusExample extends ExampleBase { …HERE… }
- Change the line “start(BoxExample.class);” → “start(TorusExample.class);”
- Change the line “_canvas.setTitle(“Box Example”);” → “_canvas.setTitle(“Torus Example”);”
- Change the line “box = new Box(“Box”, new Vector3(0, 0, 0), 5, 5, 5);” → “box = new Torus(“Torus”, 16, 8, 1.0, 2.5);”
- Add the import com.ardor3d.scenegraph.shape.Torus
Now run the TorusExample by right clicking on TorusExample.java in the Package Explorer and select “Run as → Java Application”
You should see a donut shaped object now instead of the former box.
For some additional animation add this line
box.setScale(Math.sin(angle * MathUtils.DEG_TO_RAD));
just above
box.setRotation(rotate);
Congratulations, you have written your first Ardor3D program!
Attachment: The complete source code of this tutorial