void SetupViewport()
        {
            modelViewport         = new Viewport3D(_window);
            modelViewport.MarginH = 60;
            ResetCamera();
            previewViewport = new Viewport3D(_window);
            imageViewport   = new Viewport3D(_window);

            gizmoScale                  = drawable.GetRadius() / RADIUS_ONE;
            wireframeMaterial3db        = new Material(res);
            wireframeMaterial3db.Dc     = Color4.White;
            wireframeMaterial3db.DtName = ResourceManager.WhiteTextureName;
            normalsDebugMaterial        = new Material(res);
            normalsDebugMaterial.Type   = "NormalDebugMaterial";
            lighting         = Lighting.Create();
            lighting.Enabled = true;
            lighting.Ambient = Color3f.Black;
            var src = new SystemLighting();

            src.Lights.Add(new DynamicLight()
            {
                Light = new RenderLight()
                {
                    Kind      = LightKind.Directional,
                    Direction = new Vector3(0, -1, 0),
                    Color     = Color3f.White
                }
            });
            src.Lights.Add(new DynamicLight()
            {
                Light = new RenderLight()
                {
                    Kind      = LightKind.Directional,
                    Direction = new Vector3(0, 0, 1),
                    Color     = Color3f.White
                }
            });
            lighting.Lights.SourceLighting   = src;
            lighting.Lights.SourceEnabled[0] = true;
            lighting.Lights.SourceEnabled[1] = true;
            lighting.NumberOfTilesX          = -1;
            if (drawable is DF.DfmFile)
            {
                skinning = new CharacterSkinning((DF.DfmFile)drawable);
            }
            GizmoRender.Init(res);
        }
Esempio n. 2
0
 public void DrawBuffer(CharacterSkinning skinning, CommandBuffer buffer, VertexBuffer vbo, int vertexCount, Matrix4 world, Lighting lights, Material overrideMat)
 {
     buffer.AddCommand(
         (overrideMat ?? Material).Render,
         null,
         world,
         lights,
         vbo,
         PrimitiveTypes.TriangleStrip,
         0,
         StartIndex,
         TriangleStripIndices.Length - 2,
         SortLayers.OPAQUE,
         0,
         skinning
         );
 }
Esempio n. 3
0
 public void SetSkinning(CharacterSkinning skinning)
 {
     Levels[0].SetSkinning(skinning);
 }
Esempio n. 4
0
 public void SetSkinning(CharacterSkinning skinning)
 {
     this.skinning = skinning;
 }