protected override void OnRenderFrame(FrameEventArgs e) { base.OnRenderFrame(e); entity.IncreaseRotation(0, .01f, 0); cam.Move(currentKeyDown); renderer.Prepare(WIDTH, HEIGHT); shader.Start(); shader.LoadViewMatrix(cam); renderer.RenderEntity(entity, shader); shader.Stop(); SwapBuffers(); }
public void Render(Light light, Camera camera) { Prepare(); staticShader.Start(); staticShader.LoadLight(light); staticShader.LoadViewMatrix(camera); entityRenderer.Render(entities); staticShader.Stop(); terrainShader.Start(); terrainShader.LoadLight(light); terrainShader.LoadViewMatrix(camera); terrainRenderer.Render(terrains); terrainShader.Stop(); entities.Clear(); terrains.Clear(); }
protected override void OnRenderFrame(FrameEventArgs e) { Title = $"OpenTK Guide (Vsync: {VSync.ToString()}) FPS: {(1f / e.Time).ToString("0.")}"; GL.Enable(EnableCap.DepthTest); GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); //_entity.MoveEntity(new Vector3(0, 0, -0.2f)); _entity.RotateEntity(0, 1f, 0); using (var _renderer = new Renderer(_shader)) { _camera.Move(); _shader.Start(); _shader.LoadLight(_light); _shader.LoadViewMatrix(_camera); _renderer.Render(_entity, _shader); _shader.Stop(); } SwapBuffers(); }
public virtual void Render() { shader.Use(); shader.LoadViewMatrix(camera.GetViewMatrix()); Gl.Enable(EnableCap.CullFace); Gl.CullFace(CullFaceMode.Back); foreach (KeyValuePair <GenericVAO, List <ModelEntity> > item in entityDictionary) { GenericVAO model = item.Key; PrepareModel(model); foreach (Entity entity in item.Value) { shader.LoadTransformationMatrix(Maths.CreateTransformationMatrix(entity)); Gl.DrawElements(model.DrawMode, model.VertexCount, model.ElementType, model.OffsetInBytes); } UnBindModel(); } entityDictionary.Clear(); }