コード例 #1
0
        void IRenderable.Draw(WSceneView view)
        {
            var bbox = GetBoundingBox();

            m_world.DebugDrawBox(bbox.Center, (bbox.Max - bbox.Min) / 2, Transform.Rotation, (Flags & NodeFlags.Selected) == NodeFlags.Selected ? WLinearColor.White : WLinearColor.Black, 0, 0);

            Matrix4 trs = Matrix4.CreateScale(Transform.LocalScale) * Matrix4.CreateFromQuaternion(Transform.Rotation) * Matrix4.CreateTranslation(Transform.Position);

            if (m_actorMesh != null)
            {
                for (int i = 0; i < 4; i++)
                {
                    if (ColorOverrides.ColorsEnabled[i])
                    {
                        m_actorMesh.SetTevColorOverride(i, ColorOverrides.Colors[i]);
                    }

                    if (ColorOverrides.ConstColorsEnabled[i])
                    {
                        m_actorMesh.SetTevkColorOverride(i, ColorOverrides.ConstColors[i]);
                    }
                }

                m_actorMesh.Render(view.ViewMatrix, view.ProjMatrix, trs);
            }
            else
            {
                m_objRender.Render(view.ViewMatrix, view.ProjMatrix, trs);
            }
        }
コード例 #2
0
        virtual public void Draw(WSceneView view)
        {
            Matrix4 trs = Matrix4.CreateScale(VisualScale) * Matrix4.CreateFromQuaternion(Transform.Rotation.ToSinglePrecision()) * Matrix4.CreateTranslation(Transform.Position);

            if (m_actorMeshes.Count > 0)
            {
                foreach (var actor_mesh in m_actorMeshes)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        if (ColorOverrides.ColorsEnabled[i])
                        {
                            actor_mesh.SetTevColorOverride(i, ColorOverrides.Colors[i]);
                        }

                        if (ColorOverrides.ConstColorsEnabled[i])
                        {
                            actor_mesh.SetTevkColorOverride(i, ColorOverrides.ConstColors[i]);
                        }
                    }

                    if (IsSelected)
                    {
                        actor_mesh.Tick(1 / (float)60);
                    }

                    actor_mesh.Render(view.ViewMatrix, view.ProjMatrix, trs);
                }
            }
            else if (m_objRender != null)
            {
                m_objRender.Render(view.ViewMatrix, view.ProjMatrix, trs);
            }
        }
コード例 #3
0
        public override void Draw(WSceneView view)
        {
            Matrix4 trs            = Matrix4.CreateScale(VisualScale) * Matrix4.CreateFromQuaternion(Transform.Rotation) * Matrix4.CreateTranslation(Transform.Position);
            Matrix4 centerPointTrs = Matrix4.CreateTranslation(Transform.Position);

            // Render the center point model first.
            if (m_actorMeshes.Count > 0)
            {
                foreach (var actor_mesh in m_actorMeshes)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        if (ColorOverrides.ColorsEnabled[i])
                        {
                            actor_mesh.SetTevColorOverride(i, ColorOverrides.Colors[i]);
                        }

                        if (ColorOverrides.ConstColorsEnabled[i])
                        {
                            actor_mesh.SetTevkColorOverride(i, ColorOverrides.ConstColors[i]);
                        }
                    }

                    if (IsSelected)
                    {
                        actor_mesh.Tick(1 / (float)60);
                    }

                    actor_mesh.Render(view.ViewMatrix, view.ProjMatrix, centerPointTrs);
                }
            }
            else if (m_objRender != null)
            {
                m_objRender.Render(view.ViewMatrix, view.ProjMatrix, centerPointTrs);
            }

            // Then render the area, but only when selected.
            if (IsSelected)
            {
                m_RegionAreaModel.Render(view.ViewMatrix, view.ProjMatrix, trs);
            }
        }