Пример #1
0
 public void SetCommonParmeters(CommonShaderParameters commonShaderParameters, Matrix modelMatrix)
 {
     Effect.Parameters["View"].SetValue(commonShaderParameters.View);
     Effect.Parameters["Projection"].SetValue(commonShaderParameters.Projection);
     Effect.Parameters["EnvMapTransform"].SetValue((Matrix.CreateRotationY(commonShaderParameters.EnvRotate)));
     Effect.Parameters["World"].SetValue(modelMatrix);
 }
Пример #2
0
        public void SetCommonParmeters(CommonShaderParameters commonShaderParameters, Matrix modelMatrix)
        {
            var typedEffect = (Effect as BasicEffect);

            typedEffect.Projection = commonShaderParameters.Projection;
            typedEffect.View       = commonShaderParameters.View;
            typedEffect.World      = modelMatrix;
        }
Пример #3
0
 public void Draw(GraphicsDevice device, CommonShaderParameters parameters)
 {
     Shader.SetCommonParmeters(parameters, ModelMatrix);
     if (Faces != null)
     {
         Geometry.ApplyMeshPart(Shader, device, Faces);
     }
     else
     {
         Geometry.ApplyMesh(Shader, device);
     }
 }
Пример #4
0
        public override void Draw(GameTime gameTime)
        {
            //GraphicsDevice.Clear(Color.CornflowerBlue);

            GraphicsDevice.DepthStencilState = DepthStencilState.Default;
            GraphicsDevice.RasterizerState   = RasterizerState.CullNone;

            CommonShaderParameters commonShaderParameters = new CommonShaderParameters()
            {
                Projection     = _camera.ProjectionMatrix,
                View           = _camera.ViewMatrix,
                CameraPosition = _camera.Position,
                CameraLookAt   = _camera.LookAt,
                EnvRotate      = 0
            };

            foreach (var item in _renderItems[RenderBuckedId.Normal])
            {
                item.Draw(GraphicsDevice, commonShaderParameters);
            }

            GraphicsDevice.RasterizerState = _wireframeState;
            foreach (var item in _renderItems[RenderBuckedId.Wireframe])
            {
                item.Draw(GraphicsDevice, commonShaderParameters);
            }

            GraphicsDevice.RasterizerState = _selectedFaceState;
            foreach (var item in _renderItems[RenderBuckedId.Selection])
            {
                item.Draw(GraphicsDevice, commonShaderParameters);
            }

            foreach (var item in _renderItems[RenderBuckedId.Line])
            {
                item.Draw(GraphicsDevice, commonShaderParameters);
            }

            GraphicsDevice.DepthStencilState = DepthStencilState.Default;
            GraphicsDevice.RasterizerState   = RasterizerState.CullNone;
        }
Пример #5
0
        public void Render(GraphicsDevice device, CommonShaderParameters commonShaderParameters, Matrix ModelMatrix)
        {
            VertexPosition[] _originalVertecies = new VertexPosition[6];

            var halfLength = _size / 2;

            _originalVertecies[0] = new VertexPosition(_pos + new Vector3(-halfLength, 0, 0));
            _originalVertecies[1] = new VertexPosition(_pos + new Vector3(halfLength, 0, 0));
            _originalVertecies[2] = new VertexPosition(_pos + new Vector3(0, -halfLength, 0));
            _originalVertecies[3] = new VertexPosition(_pos + new Vector3(0, halfLength, 0));
            _originalVertecies[4] = new VertexPosition(_pos + new Vector3(0, 0, -halfLength));
            _originalVertecies[5] = new VertexPosition(_pos + new Vector3(0, 0, halfLength));

            _shader.Parameters["View"].SetValue(commonShaderParameters.View);
            _shader.Parameters["Projection"].SetValue(commonShaderParameters.Projection);
            _shader.Parameters["World"].SetValue(ModelMatrix);

            foreach (var pass in _shader.CurrentTechnique.Passes)
            {
                pass.Apply();
                device.DrawUserPrimitives(PrimitiveType.LineList, _originalVertecies.ToArray(), 0, _originalVertecies.Count() / 2);
            }
        }
Пример #6
0
 public void Draw(GraphicsDevice device, CommonShaderParameters parameters)
 {
     Render(device, parameters, Matrix.Identity);
 }
Пример #7
0
 public void Draw(GraphicsDevice device, CommonShaderParameters parameters)
 {
     VertexRenderer.Update(Node.Geometry, Node.ModelMatrix, Node.Orientation, parameters.CameraPosition, SelectedVertices);
     VertexRenderer.Draw(parameters.View, parameters.Projection, device, new Vector3(0, 1, 0));
 }
 public void Draw(GraphicsDevice device, CommonShaderParameters parameters)
 {
     LineMesh.Render(device, parameters, World);
 }