예제 #1
0
파일: Widget.cs 프로젝트: rt-2/CodeWalker
        public override void Render(DeviceContext context, Camera cam, WidgetShader shader)
        {
            if (!Visible)
            {
                return;
            }
            switch (Mode)
            {
            case WidgetMode.Position:
                PositionWidget.Render(context, cam, shader);
                break;

            case WidgetMode.Rotation:
                RotationWidget.Render(context, cam, shader);
                break;

            case WidgetMode.Scale:
                ScaleWidget.Render(context, cam, shader);
                break;

            case WidgetMode.Default:
                DefaultWidget.Render(context, cam, shader);
                break;
            }
        }
예제 #2
0
파일: Widget.cs 프로젝트: rt-2/CodeWalker
        public override void Render(DeviceContext context, Camera cam, WidgetShader shader)
        {
            if (!Visible)
            {
                return;
            }

            Vector3 camrel = Position - cam.Position;
            float   dist   = camrel.Length();
            float   size   = GetWorldSize(Size, dist, cam);

            var ori = ObjectSpace ? Rotation : Quaternion.Identity;

            shader.DrawDefaultWidget(context, cam, camrel, ori, size);
        }
예제 #3
0
파일: Widget.cs 프로젝트: rt-2/CodeWalker
        public override void Render(DeviceContext context, Camera cam, WidgetShader shader)
        {
            if (!Visible)
            {
                return;
            }

            Vector3 camrel = Position - cam.Position;
            float   dist   = camrel.Length();
            float   size   = GetWorldSize(Size, dist, cam);

            WidgetAxis ax = IsDragging ? DraggedAxis : MousedAxis;

            var ori = Rotation; //scale is always in object space.

            shader.DrawScaleWidget(context, cam, camrel, ori, size, ax);
        }
예제 #4
0
파일: Widget.cs 프로젝트: rt-2/CodeWalker
        public override void Render(DeviceContext context, Camera cam, WidgetShader shader)
        {
            if (!Visible)
            {
                return;
            }

            Vector3 camrel = Position - cam.Position;
            float   dist   = camrel.Length();
            float   size   = GetWorldSize(Size, dist, cam);

            WidgetAxis ax = IsDragging ? DraggedAxis : MousedAxis;

            var ori = ObjectSpace ? Rotation : Quaternion.Identity;

            shader.DrawRotationWidget(context, cam, camrel, ori, size, ax, EnableAxes);
        }
예제 #5
0
파일: Widget.cs 프로젝트: rt-2/CodeWalker
 public abstract void Render(DeviceContext context, Camera cam, WidgetShader shader);