paysages : Small changes.
git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@398 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
parent
fe561c2062
commit
8654276b07
5 changed files with 13 additions and 9 deletions
|
@ -87,7 +87,7 @@ void heightmapChangeResolution(HeightMap* heightmap, int resolution_x, int resol
|
|||
}
|
||||
}
|
||||
|
||||
double heightmapGetLimits(HeightMap* heightmap, double* ymin, double* ymax)
|
||||
void heightmapGetLimits(HeightMap* heightmap, double* ymin, double* ymax)
|
||||
{
|
||||
double y;
|
||||
int i;
|
||||
|
|
|
@ -32,7 +32,7 @@ void heightmapValidate(HeightMap* heightmap);
|
|||
void heightmapSave(PackStream* stream, HeightMap* heightmap);
|
||||
void heightmapLoad(PackStream* stream, HeightMap* heightmap);
|
||||
|
||||
double heightmapGetLimits(HeightMap* heightmap, double* ymin, double* ymax);
|
||||
void heightmapGetLimits(HeightMap* heightmap, double* ymin, double* ymax);
|
||||
double heightmapGetRawValue(HeightMap* heightmap, double x, double z);
|
||||
double heightmapGetValue(HeightMap* heightmap, double x, double z);
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ Color terrainLightFilter(TerrainDefinition* definition, Renderer* renderer, Colo
|
|||
double inc_value, inc_base, inc_factor, height, diff, light_factor, smoothing, length;
|
||||
|
||||
direction_to_light = v3Normalize(direction_to_light);
|
||||
if (fabs(direction_to_light.x) < 0.0001 && fabs(direction_to_light.z) < 0.0001)
|
||||
if ((fabs(direction_to_light.x) < 0.0001 && fabs(direction_to_light.z) < 0.0001) || definition->height_factor < 0.001)
|
||||
{
|
||||
return light;
|
||||
}
|
||||
|
|
|
@ -18,9 +18,10 @@ TerrainCanvas* terrainCanvasCreate()
|
|||
heightmapChangeResolution(&result->height_map, 256, 256);
|
||||
result->height_factor = 1.0;
|
||||
result->detail_noise = noiseCreateGenerator();
|
||||
noiseAddLevelsSimple(result->detail_noise, 6, 1.0, 1.0);
|
||||
result->detail_height_factor = 0.002;
|
||||
result->detail_scaling = 0.002;
|
||||
noiseGenerateBaseNoise(result->detail_noise, 1048576);
|
||||
noiseAddLevelsSimple(result->detail_noise, 5, 1.0, 1.0);
|
||||
result->detail_height_factor = 0.2;
|
||||
result->detail_scaling = 0.4;
|
||||
result->mask.mode = INTEGRATIONMASK_MODE_CIRCLE;
|
||||
result->mask.smoothing = 0.1;
|
||||
|
||||
|
@ -107,9 +108,12 @@ void terrainCanvasLoad(PackStream* stream, TerrainCanvas* canvas)
|
|||
packReadDouble(stream, &canvas->mask.smoothing);
|
||||
}
|
||||
|
||||
double terrainCanvasGetLimits(TerrainCanvas* canvas, double* ymin, double* ymax)
|
||||
void terrainCanvasGetLimits(TerrainCanvas* canvas, double* ymin, double* ymax)
|
||||
{
|
||||
return heightmapGetLimits(&canvas->height_map, ymin, ymax);
|
||||
double noise_max = noiseGetMaxValue(canvas->detail_noise) * canvas->detail_height_factor;
|
||||
heightmapGetLimits(&canvas->height_map, ymin, ymax);
|
||||
*ymin -= noise_max;
|
||||
*ymax += noise_max;
|
||||
}
|
||||
|
||||
void terrainCanvasRevertToTerrain(TerrainCanvas* canvas, TerrainDefinition* terrain, int only_masked)
|
||||
|
|
|
@ -52,7 +52,7 @@ LayerType terrainCanvasGetLayerType();
|
|||
void terrainCanvasSave(PackStream* stream, TerrainCanvas* canvas);
|
||||
void terrainCanvasLoad(PackStream* stream, TerrainCanvas* canvas);
|
||||
|
||||
double terrainCanvasGetLimits(TerrainCanvas* canvas, double* ymin, double* ymax);
|
||||
void terrainCanvasGetLimits(TerrainCanvas* canvas, double* ymin, double* ymax);
|
||||
void terrainCanvasRevertToTerrain(TerrainCanvas* canvas, TerrainDefinition* terrain, int only_masked);
|
||||
Vector3 terrainCanvasApply(TerrainCanvas* canvas, Vector3 location);
|
||||
|
||||
|
|
Loading…
Reference in a new issue