public FigureFacade(Device device, ShaderCache shaderCache, FigureDefinition definition, FigureModel model, ControlVertexProvider controlVertexProvider, FigureRendererLoader figureRendererLoader) { this.definition = definition; this.model = model; this.controlVertexProvider = controlVertexProvider; this.figureRendererLoader = figureRendererLoader; }
public Scene(IArchiveDirectory dataDir, Device device, ShaderCache shaderCache, StandardSamplers standardSamplers, TrackedDeviceBufferManager trackedDeviceBufferManager, ControllerManager controllerManager) { var textureCache = new TextureCache(device); toneMappingSettings = new ToneMappingSettings(); iblEnvironment = new ImageBasedLightingEnvironment(device, standardSamplers, dataDir, InitialSettings.Environment, InitialSettings.EnvironmentRotation); backdrop = new Backdrop(device, shaderCache); floor = new PlayspaceFloor(device, shaderCache); renderModelRenderer = new RenderModelRenderer(device, shaderCache, trackedDeviceBufferManager); primitiveRenderer = new MeshRenderer(device, shaderCache, Matrix.Translation(0, 1.25f, 0), GeometricPrimitiveFactory.MakeSphere(0.5f, 100).AsTriMesh()); var shapeNormalsLoader = new ShapeNormalsLoader(dataDir, device, textureCache); var figureRendererLoader = new FigureRendererLoader(dataDir, device, shaderCache, textureCache); var figureLoader = new FigureLoader(dataDir, device, shaderCache, shapeNormalsLoader, figureRendererLoader); actor = Actor.Load(dataDir, device, shaderCache, controllerManager, figureLoader); var iblMenu = LightingEnvironmentMenu.MakeMenuLevel(dataDir, iblEnvironment); var toneMappingMenuLevel = new ToneMappingMenuLevel(toneMappingSettings); var renderSettingsMenuLevel = new StaticMenuLevel( new SubLevelMenuItem("Lighting Enviroment", iblMenu), new SubLevelMenuItem("Tone Mapping", toneMappingMenuLevel), new FloorVisibilityToggleMenuItem(floor) ); var scenePersistenceMenuLevel = ScenePersistenceMenuLevel.Make(this); var appMenuLevel = new StaticMenuLevel( new SubLevelMenuItem("Save/Load", scenePersistenceMenuLevel), new SubLevelMenuItem("Render Settings", renderSettingsMenuLevel) ); var rootMenuLevel = new CombinedMenuLevel(appMenuLevel, actor.MenuLevel); menu = new Menu(device, shaderCache, trackedDeviceBufferManager, controllerManager, rootMenuLevel); }
public FigureLoader(IArchiveDirectory dataDir, Device device, ShaderCache shaderCache, FigureRendererLoader figureRendererLoader) { this.dataDir = dataDir; this.device = device; this.shaderCache = shaderCache; this.figureRendererLoader = figureRendererLoader; }
public FigureFacade(Device device, ShaderCache shaderCache, FigureDefinition definition, FigureModel model, ControlVertexProvider controlVertexProvider, FigureRendererLoader figureRendererLoader) { this.definition = definition; this.model = model; this.controlVertexProvider = controlVertexProvider; this.figureRendererLoader = figureRendererLoader; model.MaterialSetChanged += Model_MaterialSetChanged; SyncMaterialSet(); }