public void requestMesh(HeightMap heightMap, MeshSettings meshSettings, HeightMapSettings heightMapSettings) { hasRequestedMesh = true; if (heightMapSettings.useFalloff) { float[,] falloff = FalloffGenerator.generateFalloffMap(meshSettings.numVerticesPerLine); for (int i = 0; i < heightMap.values.GetLength(0); i++) { for (int j = 0; j < heightMap.values.GetLength(1); j++) { heightMap.values[i, j] = heightMap.values[i, j] * (1 - falloff[i, j]); } } } ThreadedDataRequester.requestData(() => MeshGenerator.generateTerrainMesh(heightMap.values, meshSettings, lod), onMeshDataReceived); }
void onBiomDataReceived(object biomeDataObject) { biomeData = biomeDataObject as BiomeData; meshRenderer.material = worldGenerator.getMaterialForBiome(biomeData); ThreadedDataRequester.requestData(() => HeightMapGenerator.generateHeightmap(meshSettings.numVerticesPerLine, meshSettings.numVerticesPerLine, heightMapSettings, sampleCenter), onHeightMapReceived); }
public void load() { ThreadedDataRequester.requestData(() => worldGenerator.queryBiom((int)coord.x, (int)coord.y, 16), onBiomDataReceived); }