public void Draw(D3D11Device device, int left, int top) { device.SetViewport(new Viewport(left, top, _rect.Width, _rect.Height)); var camera = _camera.View * _camera.Projection; _scene.Draw(device, camera); if (_scene.Selected != null) { var s = Matrix.Scaling(1.0f); _manipulator.Draw(device, _scene.Selected.WorldMatrix * camera); _cursor.Draw(device, Matrix.Translation(_cursorPosition) * camera); } }
public void Draw(D3D11Device device, int left, int top) { if (_renderTarget != null) { device.SetViewport(new Viewport(left, top, Width, Height)); if (_mesh == null) { var shader = ShaderLoader.Instance.CreateShader(ShaderType.Screen); var material = new D3D11Material("rect", shader); var mesh = D3D11MeshFactory.CreateQuadrangle(); _mesh = new Mesh(new Submesh(material, mesh)); _mesh.Submeshes[0].Material.CreateSRV(_renderTarget); } _mesh.Draw(device); } }