public static GRing2PatchesCreator CreateRing2PatchesCreator(UltraUpdatableContainer updatableContainer, Dictionary <int, float> intensityPatternPixelsPerUnit) { TextureConcieverUTProxy conciever = new TextureConcieverUTProxy(); updatableContainer.Add(conciever); Ring2RandomFieldFigureGenerator figureGenerator = new Ring2RandomFieldFigureGenerator(new TextureRenderer(), new Ring2RandomFieldFigureGeneratorConfiguration() { PixelsPerUnit = new Vector2(1, 1) }); var utFigureGenerator = new RandomFieldFigureGeneratorUTProxy(figureGenerator); updatableContainer.Add(utFigureGenerator); var randomFieldFigureRepository = new Ring2RandomFieldFigureRepository(utFigureGenerator, new Ring2RandomFieldFigureRepositoryConfiguration(2, new Vector2(20, 20))); Quadtree <Ring2Region> regionsTree = Ring2TestUtils.CreateRegionsTreeWithPath3(randomFieldFigureRepository); return(new GRing2PatchesCreator( new MonoliticRing2RegionsDatabase(regionsTree), new GRing2RegionsToPatchTemplateConventer(), new Ring2PatchTemplateCombiner(), new Ring2PatchCreator(), new Ring2IntensityPatternProvider(conciever), new GRing2Deviser(), new Ring2PatchesOverseerConfiguration() { IntensityPatternPixelsPerUnit = intensityPatternPixelsPerUnit } )); }
private GRing2PatchesCreator CreateRing2PatchesCreator() { var ring2ShaderRepository = Ring2PlateShaderRepository.Create(); TextureConcieverUTProxy conciever = new TextureConcieverUTProxy(); _updatableContainer.AddUpdatableElement(conciever); _ring2PatchesPainterUtProxy = new Ring2PatchesPainterUTProxy( new Ring2PatchesPainter( new Ring2MultishaderMaterialRepository(ring2ShaderRepository, Ring2ShaderNames.ShaderNames))); _updatableContainer.AddUpdatableElement(_ring2PatchesPainterUtProxy); Ring2RandomFieldFigureGenerator figureGenerator = new Ring2RandomFieldFigureGenerator(new TextureRenderer(), new Ring2RandomFieldFigureGeneratorConfiguration() { PixelsPerUnit = new Vector2(2, 2) }); var utFigureGenerator = new RandomFieldFigureGeneratorUTProxy(figureGenerator); _updatableContainer.AddUpdatableElement(utFigureGenerator); var randomFieldFigureRepository = new Ring2RandomFieldFigureRepository(utFigureGenerator, new Ring2RandomFieldFigureRepositoryConfiguration(2, new Vector2(20, 20))); Quadtree <Ring2Region> regionsTree = Ring2TestUtils.CreateRegionsTreeWithPath3(randomFieldFigureRepository); return(new GRing2PatchesCreator( new MonoliticRing2RegionsDatabase(regionsTree), new GRing2RegionsToPatchTemplateConventer(), new Ring2PatchTemplateCombiner(), new Ring2PatchCreator(), new Ring2IntensityPatternProvider(conciever), new GRing2Deviser(), new Ring2PatchesOverseerConfiguration() { IntensityPatternPixelsPerUnit = new Dictionary <int, float>() { { 1, 1 } } //PatchSize = new Vector2(90, 90) } )); }