public void Draw2D(ViewportBase context, Matrix4 viewport, Matrix4 camera, Matrix4 modelView) { var opts = new Viewport2DRenderOptions { Viewport = viewport, Camera = camera, ModelView = Matrix4.Identity // modelView }; _mapObject2DShader.Bind(opts); _mapObject2DShader.SelectionTransform = Matrix4.Identity; _mapObject2DShader.SelectedOnly = false; _mapObject2DShader.SelectedColour = new Vector4(0.5f, 0, 0, 1); if (Document.Map.Show2DGrid) { // Render grid var vp2 = (Viewport2D)context; if (GridArrays.ContainsKey(vp2)) { GridArrays[vp2].Render(context.Context); } } // Render wireframe (untransformed) _mapObject2DShader.ModelView = modelView; _array.RenderWireframe(context.Context); _decalArray.RenderWireframe(context.Context); if (CBRE.Settings.View.Draw2DVertices) { if (CBRE.Settings.View.OverrideVertexColour) { var c = CBRE.Settings.View.VertexOverrideColour; _mapObject2DShader.OverrideColour = new Vector4(c.R / 255f, c.G / 255f, c.B / 255f, 1); } _array.RenderVertices(context.Context, CBRE.Settings.View.VertexPointSize); _mapObject2DShader.OverrideColour = Vector4.Zero; } // Render wireframe (transformed) _mapObject2DShader.SelectionTransform = _selectionTransform; _mapObject2DShader.SelectedOnly = true; _mapObject2DShader.SelectedColour = new Vector4(1, 0, 0, 1); _array.RenderWireframe(context.Context); _decalArray.RenderWireframe(context.Context); if (CBRE.Settings.View.Draw2DVertices) { if (CBRE.Settings.View.OverrideVertexColour) { var c = CBRE.Settings.View.VertexOverrideColour; _mapObject2DShader.OverrideColour = new Vector4(c.R / 255f, c.G / 255f, c.B / 255f, 1); } _array.RenderVertices(context.Context, CBRE.Settings.View.VertexPointSize); _mapObject2DShader.OverrideColour = Vector4.Zero; } _mapObject2DShader.Unbind(); }
public void Bind(Viewport2DRenderOptions options) { Shader.Bind(); Perspective = options.Viewport; Camera = options.Camera; ModelView = options.ModelView; }
public void Bind(Viewport2DRenderOptions options) { Shader.Bind(); Perspective = options.Viewport; Camera = options.Camera; ModelView = options.ModelView; // todo selection transform }
public void Draw2D(ViewportBase context, Matrix4 viewport, Matrix4 camera, Matrix4 modelView) { var opts = new Viewport2DRenderOptions { Viewport = viewport, Camera = camera, ModelView = Matrix4.Identity // modelView }; _mapObject2DShader.Bind(opts); _mapObject2DShader.SelectionTransform = Matrix4.Identity; _mapObject2DShader.SelectedOnly = false; _mapObject2DShader.SelectedColour = new Vector4(0.5f, 0, 0, 1); if (Document.Map.Show2DGrid) { // Render grid var vp2 = (Viewport2D) context; if (GridArrays.ContainsKey(vp2)) GridArrays[vp2].Render(context.Context); } // Render wireframe (untransformed) _mapObject2DShader.ModelView = modelView; _array.RenderWireframe(context.Context); _decalArray.RenderWireframe(context.Context); // Render wireframe (transformed) _mapObject2DShader.SelectionTransform = _selectionTransform; _mapObject2DShader.SelectedOnly = true; _mapObject2DShader.SelectedColour = new Vector4(1, 0, 0, 1); _array.RenderWireframe(context.Context); _decalArray.RenderWireframe(context.Context); _mapObject2DShader.Unbind(); }
public void Draw2D(ViewportBase context, Matrix4 viewport, Matrix4 camera, Matrix4 modelView) { var opts = new Viewport2DRenderOptions { Viewport = viewport, Camera = camera, ModelView = Matrix4.Identity // modelView }; _mapObject2DShader.Bind(opts); _mapObject2DShader.SelectionTransform = Matrix4.Identity; _mapObject2DShader.SelectedOnly = false; _mapObject2DShader.SelectedColour = new Vector4(0.5f, 0, 0, 1); if (Document.Map.Show2DGrid) { // Render grid var vp2 = (Viewport2D) context; if (GridArrays.ContainsKey(vp2)) GridArrays[vp2].Render(context.Context); } // Render wireframe (untransformed) _mapObject2DShader.ModelView = modelView; _array.RenderWireframe(context.Context); _decalArray.RenderWireframe(context.Context); if (Sledge.Settings.View.Draw2DVertices) { if (Sledge.Settings.View.OverrideVertexColour) { var c = Sledge.Settings.View.VertexOverrideColour; _mapObject2DShader.OverrideColour = new Vector4(c.R / 255f, c.G / 255f, c.B / 255f, 1); } _array.RenderVertices(context.Context, Sledge.Settings.View.VertexPointSize); _mapObject2DShader.OverrideColour = Vector4.Zero; } // Render wireframe (transformed) _mapObject2DShader.SelectionTransform = _selectionTransform; _mapObject2DShader.SelectedOnly = true; _mapObject2DShader.SelectedColour = new Vector4(1, 0, 0, 1); _array.RenderWireframe(context.Context); _decalArray.RenderWireframe(context.Context); if (Sledge.Settings.View.Draw2DVertices) { if (Sledge.Settings.View.OverrideVertexColour) { var c = Sledge.Settings.View.VertexOverrideColour; _mapObject2DShader.OverrideColour = new Vector4(c.R / 255f, c.G / 255f, c.B / 255f, 1); } _array.RenderVertices(context.Context, Sledge.Settings.View.VertexPointSize); _mapObject2DShader.OverrideColour = Vector4.Zero; } _mapObject2DShader.Unbind(); }