public Window(Game game, IVisualManager manager) : base( 1280, 720, GraphicsMode.Default, "Minecraft OpenGL 4.1", GameWindowFlags.Default, DisplayDevice.Default, 4, 1, GraphicsContextFlags.Default) { VSync = VSyncMode.Off; keys = new Dictionary <Key, bool>(); foreach (Key key in Enum.GetValues(typeof(Key))) { keys[key] = false; } Texture.InitArray(Directory.GetFiles(Path.Combine("Textures"), "*.png").ToList()); Model.Load(Directory.GetFiles(Path.Combine("Models", "source"), "*.fbx").ToList()); this.game = game; game.Start(); Location = new Point(100, 100); var camera = new Camera(game.Player); var skyBoxRender = new SkyBox(); var worldRender = new World(manager, game); var linesRender = new Lines(game); var entityRender = new Entity(game); render = new Render(camera, skyBoxRender, worldRender, linesRender, entityRender); playerControl = new PlayerControl(keys, game.Player.Mover, game.World); }
public World(IVisualManager visualManager, Game game) { viewer = game.Player.Mover; this.visualManager = visualManager; arrayTex = Texture.ArrayTex; var size = visualManager.World.Size; Size = size * size * 16; vao = new int[Size]; data = new int[Size]; shaderProgram = Shaders.Shaders.GetSideShader(); GenBuffers(); for (var i = 0; i < Size; i++) { InstallAttributes(i); } vPMatrixLocation = GL.GetUniformLocation(shaderProgram, "viewProjection"); }
/// <summary> /// The context call's this method and sets the current Visual Manager. This will happen before calling the Execute method. /// </summary> /// <param name="context">A reference to the current Visual Manager</param> public void SetContext(IVisualManager context) { this.context = context; }
/// <summary> /// Sets the VisualsManager. /// </summary> /// <param name="visuals">Visuals</param> public void SetVisuals(IVisualManager visuals) { this.visuals = visuals; }
/// <summary> /// Does nothing here. /// </summary> /// <param name="context"></param> public void SetContext(IVisualManager context){ }