Example #1
0
        public override void Initialize()
        {
            _renderComponent = GetComponent <RenderEngineComponent>();

            _gridMesh = new LineMeshRender(Game.Content);
            _gridMesh.CreateGrid();

            base.Initialize();
        }
Example #2
0
        public void Render(RenderEngineComponent renderEngine, Matrix parentWorld)
        {
            var skeleton = AnimationProvider.Skeleton;

            if (skeleton != null)
            {
                Name = AnimationProvider.Skeleton.SkeletonName;
            }
            else
            {
                Name = "Skeleton ";
            }

            if (IsVisible && skeleton != null /* && _animationProvider.IsActive*/)
            {
                _lineRenderer.Clear();

                for (int i = 0; i < skeleton.BoneCount; i++)
                {
                    var parentIndex = skeleton.GetParentBone(i);
                    if (parentIndex == -1)
                    {
                        var boneMatrix2 = skeleton.GetAnimatedWorldTranform(i);
                        _lineRenderer.AddCube(Matrix.CreateScale(SkeletonScale) * Matrix.CreateScale(0.05f) * boneMatrix2 * parentWorld, NodeColour);
                        continue;
                    }


                    float scale      = SkeletonScale;
                    Color drawColour = NodeColour;
                    if (SelectedBoneIndex.HasValue && SelectedBoneIndex.Value == i)
                    {
                        drawColour = SelectedNodeColour;
                        scale     *= 1.5f;
                    }

                    var boneMatrix       = skeleton.GetAnimatedWorldTranform(i);
                    var parentBoneMatrix = skeleton.GetAnimatedWorldTranform(parentIndex);

                    _lineRenderer.AddCube(Matrix.CreateScale(scale) * Matrix.CreateScale(0.05f) * boneMatrix * parentWorld, drawColour);
                    _lineRenderer.AddLine(Vector3.Transform(boneMatrix.Translation, parentWorld), Vector3.Transform(parentBoneMatrix.Translation, parentWorld));
                }

                renderEngine.AddRenderItem(RenderBuckedId.Line, new LineRenderItem()
                {
                    LineMesh = _lineRenderer, World = Matrix.Identity
                });
            }
        }
        public override void Initialize()
        {
            CreateSelectionSate(GeometrySelectionMode.Object);
            _renderEngine = GetComponent <RenderEngineComponent>();


            _lineGeometry  = new LineMeshRender(Game.Content);
            VertexRenderer = new VertexInstanceMesh(GraphicsDevice, Game.Content);

            _wireframeEffect = new BasicShader(GraphicsDevice);
            _wireframeEffect.DiffuseColor = Vector3.Zero;

            _selectedFacesEffect = new BasicShader(GraphicsDevice);
            _selectedFacesEffect.DiffuseColor  = new Vector3(1, 0, 0);
            _selectedFacesEffect.SpecularColor = new Vector3(1, 0, 0);
            _selectedFacesEffect.EnableDefaultLighting();

            base.Initialize();
        }
Example #4
0
 public override void Initialize()
 {
     _renderEngine = GetComponent <RenderEngineComponent>();
     base.Initialize();
 }