Example #1
0
 /// <summary>
 /// Setup the 3D environment (called before all other LD3D commands).
 /// </summary>
 /// <param name="fullScreen">"True" or "False".</param>
 /// <param name="colour">The background (sky) colour.</param>
 /// <returns>The added camera object name.</returns>
 public static Primitive Setup(Primitive fullScreen, Primitive colour)
 {
     try
     {
         if (running) return "";
         copyResources();
         Node node = new Node(getNodeID(), "Camera");
         int[] RGB = getRGB(colour);
         Engine.setup(node.name, fullScreen, 640, 480, RGB[0], RGB[1], RGB[2]);
         Nodes.Add(node);
         running = true;
         return node.name;
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         return "";
     }
 }
Example #2
0
 /// <summary>
 /// Add a general sphere object.
 /// </summary>
 /// <returns>The added object name.</returns>
 public static Primitive AddSphere()
 {
     if (!running) return "";
     Node node = new Node(getNodeID());
     Engine.addSphere(node.name);
     Nodes.Add(node);
     return node.name;
 }
Example #3
0
 /// <summary>
 /// Add a general terrain.
 /// </summary>
 /// <param name="height">A heght bitmap (*.bmp)</param>
 /// <param name="terrain">The main terain image (*.jpg).</param>
 /// <param name="detail">A detail terrain image (*.jpg).</param>
 /// <param name="gravity">Gravity of player (0 to fly, 10 for normal gravity).</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddTerrain(Primitive height, Primitive terrain, Primitive detail, Primitive gravity)
 {
     if (!running) return "";
     System.Drawing.Bitmap bm = new System.Drawing.Bitmap(height);
     Node node = new Node(getNodeID(), "Terrain");
     Engine.addTerrain(node.name, height, terrain, detail, gravity, bm.Size.Width, bm.Size.Height);
     Nodes.Add(node);
     return node.name;
 }
Example #4
0
 /// <summary>
 /// A default nija animated mesh object.
 /// </summary>
 /// <param name="colour">"Red" or "Blue"</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddNinja(Primitive colour)
 {
     if (!running) return "";
     Node node = new Node(getNodeID());
     Engine.addAnimatedMesh(node.name, ninja, 0, 13, 10);
     if (colour == "Red")
     {
         Engine.setTexture(node.name, nskinrd);
     }
     else if (colour == "Blue")
     {
         Engine.setTexture(node.name, nskinbl);
     }
     Nodes.Add(node);
     return node.name;
 }
Example #5
0
 /// <summary>
 /// A Quake mesh file within zip mesh file.
 /// </summary>
 /// <param name="mesh">The Quake mesh file (*.bsp)</param>
 /// <param name="gravity">Gravity of player (0 to fly, 10 for normal gravity).</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddQuakeMesh(Primitive mesh, Primitive gravity)
 {
     if (!running) return "";
     Node node = new Node(getNodeID(), "Quake");
     Engine.addQuakeMesh(node.name, mesh, gravity);
     Nodes.Add(node);
     return node.name;
 }
Example #6
0
 /// <summary>
 /// A default terrain.
 /// </summary>
 /// <param name="gravity">Gravity of player (0 to fly, 10 for normal gravity).</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddMountainTerrain(Primitive gravity)
 {
     if (!running) return "";
     System.Drawing.Bitmap bm = new System.Drawing.Bitmap(terrain_heightmap);
     Node node = new Node(getNodeID(), "Terrain");
     Engine.addTerrain(node.name, terrain_heightmap, terrain_texture, detailmap3, gravity, bm.Size.Width, bm.Size.Height);
     Engine.addSkybox(irrlicht2_up, irrlicht2_dn, irrlicht2_lf, irrlicht2_rt, irrlicht2_ft, irrlicht2_bk);
     Nodes.Add(node);
     return node.name;
 }
Example #7
0
 /// <summary>
 /// Add a light.
 /// </summary>
 /// <param name="X">The light X coordinate.</param>
 /// <param name="Y">The light Y coordinate.</param>
 /// <param name="Z">The light Z coordinate.</param>
 /// <param name="colour">The light colour.</param>
 /// <param name="radius">The radius of the light.</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddLight(Primitive X, Primitive Y, Primitive Z, Primitive colour, Primitive radius)
 {
     if (!running) return "";
     Node node = new Node(getNodeID());
     int[] RGB = getRGB(colour);
     Engine.addLight(node.name, X, Y, Z, RGB[0], RGB[1], RGB[2], radius, fireball, particlewhite);
     Nodes.Add(node);
     return node.name;
 }
Example #8
0
 /// <summary>
 /// A default Quake mesh.
 /// </summary>
 /// <param name="gravity">Gravity of player (0 to fly, 10 for normal gravity).</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddDungeonMesh(Primitive gravity)
 {
     if (!running) return "";
     Engine.addZip(map_20kdm2);
     Node node = new Node(getNodeID(), "Quake");
     Engine.addQuakeMesh(node.name, "20kdm2.bsp", gravity);
     Nodes.Add(node);
     return node.name;
 }
Example #9
0
 /// <summary>
 /// Add a 2D billboard that always faces the camera.
 /// </summary>
 /// <param name="width">The width of the billboard.</param>
 /// <param name="height">The height of the billboard.</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddBillBoard(Primitive width, Primitive height)
 {
     if (!running) return "";
     Node node = new Node(getNodeID());
     Engine.addBillBoard(node.name, width, height);
     Nodes.Add(node);
     return node.name;
 }
Example #10
0
 /// <summary>
 /// Add a general animated mesh object (*.b3d).
 /// </summary>
 /// <param name="mesh"></param>
 /// <param name="startFrame">The starting frame for the animated object.</param>
 /// <param name="endFrame">The end fame for the animated object.</param>
 /// <param name="fps">The frames per second for the mesh animation.</param>
 /// <returns>The added object name.</returns>
 public static Primitive AddAnimatedMesh(Primitive mesh, Primitive startFrame, Primitive endFrame, Primitive fps)
 {
     if (!running) return "";
     Node node = new Node(getNodeID());
     Engine.addAnimatedMesh(node.name, mesh, startFrame, endFrame, fps);
     Nodes.Add(node);
     return node.name;
 }