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); }
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 ); }
public void SetSkinning(CharacterSkinning skinning) { Levels[0].SetSkinning(skinning); }
public void SetSkinning(CharacterSkinning skinning) { this.skinning = skinning; }