コード例 #1
0
        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();
        }
コード例 #2
0
        public void Bind(Viewport2DRenderOptions options)
        {
            Shader.Bind();

            Perspective = options.Viewport;
            Camera      = options.Camera;
            ModelView   = options.ModelView;
        }
コード例 #3
0
ファイル: MapObject2DShader.cs プロジェクト: jpiolho/sledge
        public void Bind(Viewport2DRenderOptions options)
        {
            Shader.Bind();

            Perspective = options.Viewport;
            Camera = options.Camera;
            ModelView = options.ModelView;
            // todo selection transform
        }
コード例 #4
0
ファイル: ModernRenderer.cs プロジェクト: jpiolho/sledge
        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();
        }
コード例 #5
0
ファイル: ModernRenderer.cs プロジェクト: KonstantinUb/sledge
        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();
        }