public void Start() { TaskUtils.SetGlobalMultithreading(false); TextureRendererServiceConfiguration textureRendererServiceConfiguration = new TextureRendererServiceConfiguration(); textureRendererServiceConfiguration.StepSize = new Vector2(10, 10); UTTextureRendererProxy utTextureRenderer = new UTTextureRendererProxy(new TextureRendererService( new MultistepTextureRenderer(Object.FindObjectOfType <ComputeShaderContainerGameObject>()), textureRendererServiceConfiguration)); TextureConcieverUTProxy utTextureConciever = new TextureConcieverUTProxy(); LateAssignFactory <BaseTerrainDetailProvider> terrainDetailProviderFactory = new LateAssignFactory <BaseTerrainDetailProvider>(() => _mockProvider); _merger = new TerrainDetailCornerMerger(terrainDetailProviderFactory, new TerrainDetailAlignmentCalculator(240), utTextureRenderer, utTextureConciever, new CommonExecutorUTProxy(), new TerrainDetailCornerMergerConfiguration()); //TaskUtils.DebuggerAwareWait(Test1()); //TaskUtils.DebuggerAwareWait(Test2()); //TaskUtils.DebuggerAwareWait(Test3()); //TaskUtils.DebuggerAwareWait(Test4()); //TaskUtils.DebuggerAwareWait(Test5()); //TaskUtils.DebuggerAwareWait(Test6()); //TaskUtils.DebuggerAwareWait(Test7()); TaskUtils.DebuggerAwareWait(Test8()); }
private void InitializeFields() { TextureRendererServiceConfiguration rendererServiceConfiguration = new TextureRendererServiceConfiguration() { StepSize = new Vector2(500, 500) }; _utTextureRendererProxy = new UTTextureRendererProxy( new TextureRendererService(new MultistepTextureRenderer(ContainerGameObject), rendererServiceConfiguration)); }
private TerrainAndNormalTexture CreateTerrainAndNormalTexture(RenderTexture mainTexture) { TextureRendererServiceConfiguration rendererServiceConfiguration = new TextureRendererServiceConfiguration() { StepSize = new Vector2(500, 500) }; _utTextureRendererProxy = new UTTextureRendererProxy( new TextureRendererService(new MultistepTextureRenderer(ContainerGameObject), rendererServiceConfiguration)); var provider = CreateTerrainDetailProvider( TerrainDetailProviderDebugUtils.CreateFeatureAppliers(_utTextureRendererProxy, ContainerGameObject, new CommonExecutorUTProxy(), new UnityThreadComputeShaderExecutorObject()), mainTexture); MyRectangle queryArea = null; if (_terrainResolution == TerrainCardinalResolution.MIN_RESOLUTION) { queryArea = new MyRectangle(0, 0, 24 * 240, 24 * 240); } else if (_terrainResolution == TerrainCardinalResolution.MID_RESOLUTION) { queryArea = new MyRectangle(3 * 240, 3 * 240, 3 * 240, 3 * 240); } else { queryArea = new MyRectangle(5 * 0.375f * 240, 5 * 0.375f * 240, 0.375f * 240, 0.375f * 240); } var outTex = provider.GenerateHeightDetailElementAsync(queryArea, _terrainResolution, CornersMergeStatus.NOT_MERGED).Result.Texture; var outNormal = provider.GenerateNormalDetailElementAsync(queryArea, _terrainResolution, CornersMergeStatus.NOT_MERGED).Result.Texture; return(new TerrainAndNormalTexture() { HeightTexture = outTex.Texture, NormalTexture = outNormal.Texture }); }