public static void Init() { model = new ObjMesh("Resources\\Models\\Planets\\Rock1.obj"); tex = Game.LoadTexture("Resources\\Textures\\Rock-Texture-Surface.jpg"); asteriods = new List<Asteroid>(); //asteriods.Add(new Asteroid(new Vector3(0, 0, -100), new Vector3(0, 0, 30f), 3f)); //asteriods.Add(new Asteroid(new Vector3(0, 0, 100), new Vector3(0, 0, -30f), 1f)); for (int i = 0; i < 200; i++) { Vector3 pos = new Vector3(AppSettings.random.Next(100, 500), AppSettings.random.Next(100, 500), AppSettings.random.Next(100, 500)); Vector3 n = -Vector3.UnitX; n.Normalize(); Asteroid a = new Asteroid(pos, n*10, AppSettings.random.Next(1, 5)); asteriods.Add(a); } for (int i = 0; i < 200; i++) { Vector3 pos = new Vector3(0-AppSettings.random.Next(100, 500), AppSettings.random.Next(100, 500), AppSettings.random.Next(100, 500)); Vector3 n = Vector3.UnitX; n.Normalize(); Asteroid a = new Asteroid(pos, n * 10, AppSettings.random.Next(1, 5)); asteriods.Add(a); } }
public Player() : base() { speedRotate = 90f/60f/2f; //ne praš k neznam razložit XD speedForward = 10f; speedBackward = 10f; //primer: 90 stopinj na sekundo, pa deliš z 60 ker je 60 frameov, nevem kuko sm to dobu ampak dela speedStrafe = 10f; speedUp = 10f; accForward = 1f; accStrafe = 1f; accUp = 1f; forward = new Vector3(0, 0, 1); up = new Vector3(0, 1, 0); left = new Vector3(1, 0, 0); prevX = VesoljskiBoj.Game.game.Mouse.X; prevY = VesoljskiBoj.Game.game.Mouse.Y; model = new ObjMesh("Resources\\Models\\Spaceship\\Spaceship.obj"); //model = new ObjMesh("Resources\\Models\\Endor Battlecruiser\\Endor Battlecruiser.obj"); texture = Game.LoadTexture("Resources\\Models\\Spaceship\\spaceship.png"); //centerOffset = new Vector3(0, -130, 0); centerOffset = new Vector3(0, 0, 0); bb = new BoundingBox(model,1f); }
public Planet(bool asd) : base() { if (asd) { model = new ObjMesh("Resources\\Models\\Planets\\earthTest.obj"); tex = Game.LoadTexture("Resources\\Textures\\earthHD.jpg"); } else { model = new ObjMesh("Resources\\Models\\Planets\\planet2.obj"); tex = Game.LoadTexture("Resources\\Textures\\planet2.png"); } this.asd = asd; }
public static bool Load(ObjMesh mesh, string fileName) { try { using (StreamReader streamReader = new StreamReader(fileName)) { Load(mesh, streamReader); streamReader.Close(); return true; } } catch(Exception e) { Console.WriteLine(e.ToString()); return false; } }
static void Load(ObjMesh mesh, TextReader textReader) { vertices = new List<Vector3>(); normals = new List<Vector3>(); texCoords = new List<Vector2>(); objVerticesIndexDictionary = new Dictionary<ObjMesh.ObjVertex, int>(); objVertices = new List<ObjMesh.ObjVertex>(); objTriangles = new List<ObjMesh.ObjTriangle>(); objQuads = new List<ObjMesh.ObjQuad>(); string line; while ((line = textReader.ReadLine()) != null) { line = line.Trim(splitCharacters); line = line.Replace(" ", " "); string[] parameters = line.Split(splitCharacters); switch (parameters[0]) { case "p": // Point break; case "v": // Vertex float x = float.Parse(parameters[1], System.Globalization.CultureInfo.InvariantCulture); float y = float.Parse(parameters[2], System.Globalization.CultureInfo.InvariantCulture); float z = float.Parse(parameters[3], System.Globalization.CultureInfo.InvariantCulture); vertices.Add(new Vector3(x, y, z)); break; case "vt": // TexCoord float u = float.Parse(parameters[1], System.Globalization.CultureInfo.InvariantCulture); float v = float.Parse(parameters[2], System.Globalization.CultureInfo.InvariantCulture); texCoords.Add(new Vector2(u, v)); break; case "vn": // Normal float nx = float.Parse(parameters[1], System.Globalization.CultureInfo.InvariantCulture); float ny = float.Parse(parameters[2], System.Globalization.CultureInfo.InvariantCulture); float nz = float.Parse(parameters[3], System.Globalization.CultureInfo.InvariantCulture); normals.Add(new Vector3(nx, ny, nz)); break; case "f": switch (parameters.Length) { case 4: ObjMesh.ObjTriangle objTriangle = new ObjMesh.ObjTriangle(); objTriangle.Index0 = ParseFaceParameter(parameters[1]); objTriangle.Index1 = ParseFaceParameter(parameters[2]); objTriangle.Index2 = ParseFaceParameter(parameters[3]); objTriangles.Add(objTriangle); break; case 5: ObjMesh.ObjQuad objQuad = new ObjMesh.ObjQuad(); objQuad.Index0 = ParseFaceParameter(parameters[1]); objQuad.Index1 = ParseFaceParameter(parameters[2]); objQuad.Index2 = ParseFaceParameter(parameters[3]); objQuad.Index3 = ParseFaceParameter(parameters[4]); objQuads.Add(objQuad); break; } break; } } mesh.Vertices = objVertices.ToArray(); mesh.Triangles = objTriangles.ToArray(); mesh.Quads = objQuads.ToArray(); objVerticesIndexDictionary = null; vertices = null; normals = null; texCoords = null; objVertices = null; objTriangles = null; objQuads = null; }