Fixed terrain paint brush 'smooth'

This commit is contained in:
Michaël Lemaire 2013-06-16 16:06:46 +02:00
parent 9b9ea22054
commit 4658db3cea
2 changed files with 4 additions and 50 deletions

View file

@ -536,10 +536,10 @@ static double _applyBrushSmooth(TerrainHeightMap* heightmap, TerrainBrush* brush
UNUSED(data);
double ideal, factor;
ideal = terrainGetInterpolatedHeight(heightmap->terrain, x + brush->total_radius * 0.5, z, 0, 1);
ideal += terrainGetInterpolatedHeight(heightmap->terrain, x - brush->total_radius * 0.5, z, 0, 1);
ideal += terrainGetInterpolatedHeight(heightmap->terrain, x, z - brush->total_radius * 0.5, 0, 1);
ideal += terrainGetInterpolatedHeight(heightmap->terrain, x, z + brush->total_radius * 0.5, 0, 1);
ideal = terrainGetInterpolatedHeight(heightmap->terrain, (x + brush->total_radius * 0.5) * heightmap->terrain->scaling, z * heightmap->terrain->scaling, 0, 1);
ideal += terrainGetInterpolatedHeight(heightmap->terrain, (x - brush->total_radius * 0.5) * heightmap->terrain->scaling, z * heightmap->terrain->scaling, 0, 1);
ideal += terrainGetInterpolatedHeight(heightmap->terrain, x * heightmap->terrain->scaling, (z - brush->total_radius * 0.5) * heightmap->terrain->scaling, 0, 1);
ideal += terrainGetInterpolatedHeight(heightmap->terrain, x * heightmap->terrain->scaling, (z + brush->total_radius * 0.5) * heightmap->terrain->scaling, 0, 1);
ideal /= 4.0;
factor = influence * force;
if (factor > 1.0)

View file

@ -91,47 +91,6 @@ START_TEST(test_terrain_painting_grid)
}
END_TEST
START_TEST(test_terrain_painting_brush_elevation)
{
/* Set up */
TerrainDefinition* terrain = _setUpDefinition();
/* Test */
/* TODO */
/* Tear down */
_tearDownDefinition(terrain);
}
END_TEST
START_TEST(test_terrain_painting_brush_noise)
{
/* Set up */
TerrainDefinition* terrain = _setUpDefinition();
/* Test */
/* TODO */
/* Tear down */
_tearDownDefinition(terrain);
}
END_TEST
START_TEST(test_terrain_painting_brush_smooth)
{
/* Set up */
TerrainDefinition* terrain = _setUpDefinition();
/* Test */
/* TODO */
/* Tear down */
_tearDownDefinition(terrain);
}
END_TEST
static void _checkBrushResultSides(TerrainDefinition* terrain, TerrainBrush* brush, double center, double midhard, double hard, double midsoft, double soft, double exter, double neg_midhard, double neg_hard, double neg_midsoft, double neg_soft, double neg_exter)
{
UNUSED(brush);
@ -151,7 +110,6 @@ static void _checkBrushResultSides(TerrainDefinition* terrain, TerrainBrush* bru
ck_assert_double_eq(terrainGetGridHeight(terrain, -5, 0, 1), neg_exter);
}
static void _checkBrushResult(TerrainDefinition* terrain, TerrainBrush* brush, double center, double midhard, double hard, double midsoft, double soft, double exter, int mirror)
{
if (mirror)
@ -206,7 +164,6 @@ START_TEST(test_terrain_painting_brush_flatten)
/* Tear down */
_tearDownDefinition(terrain);
}
END_TEST
START_TEST(test_terrain_painting_brush_reset)
@ -275,9 +232,6 @@ END_TEST
TEST_CASE(terrain_painting,
test_terrain_painting_grid,
test_terrain_painting_brush_elevation,
test_terrain_painting_brush_noise,
test_terrain_painting_brush_smooth,
test_terrain_painting_brush_flatten,
test_terrain_painting_brush_reset)