using System; using System.IO; using System.Drawing; using System.Drawing.Imaging; using OpenTK.Graphics.OpenGL4; using OpenTK; using OpenTK.Audio.OpenAL; using OpenTK.Audio; using ImageSharp; using ImageSharp.Processing; using org.niclasundharald.engine.graphics; using org.niclasundharald.engine; namespace nhengine { public class BootStrap { public static BootStrap _instance; public static BootStrap instance() { return _instance; } OpenGLWindow glWindow; SquaredMap map; public static void Main(string[] args){ _instance = new BootStrap(); _instance.run(); } public BootStrap() { bootGraphics(); bootMap(); } public SquaredMap SquaredMap { get { return this.map; } } public void bootGraphics(){ glWindow = new OpenGLWindow(); glWindow.MakeCurrent(); GlobalDefaults.instance(); } public void bootAudio(){ AL.Enable(ALCapability.Invalid); } public void bootMap(){ ImageSharp.Image i = ImageSharp.Image.Load( new FileStream("M3-wip.png",FileMode.Open)); i.Flip(ImageSharp.Processing.FlipType.Vertical); i.Resize(500,500); map = new SquaredMap(i); glWindow.Scene.RootObject.addChild( map ); ModelManager.instance.addSearchPath("./models"); DumpObject dobj = new DumpObject(); dobj.Model3D = ModelManager.instance.loadModel("alfa147",0.0254f); Vector3 v3 = map.ground(new Vector2(40,40)); v3.Z *= 2; dobj.Position = v3; glWindow.Scene.RootObject.addChild( dobj ); } public void run(){ glWindow.MakeCurrent(); glWindow.Run(25,25); } } }