paysages: Fixed the long-running annoying artifacts on clouds.
git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@269 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
parent
36b6943ea4
commit
ba0f09615d
1 changed files with 5 additions and 1 deletions
|
@ -511,12 +511,16 @@ Color cloudsGetLayerColor(CloudsLayerDefinition* definition, Renderer* renderer,
|
||||||
detail = renderer->getPrecision(renderer, start) / definition->scaling;
|
detail = renderer->getPrecision(renderer, start) / definition->scaling;
|
||||||
|
|
||||||
segment_count = _findSegments(definition, renderer, start, direction, detail, 20, definition->transparencydepth, max_length, &inside_length, &total_length, segments);
|
segment_count = _findSegments(definition, renderer, start, direction, detail, 20, definition->transparencydepth, max_length, &inside_length, &total_length, segments);
|
||||||
for (i = 0; i < segment_count; i++)
|
for (i = segment_count - 1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
col = _applyLayerLighting(definition, renderer, segments[i].start, detail);
|
col = _applyLayerLighting(definition, renderer, segments[i].start, detail);
|
||||||
col.a = (segments[i].length >= definition->transparencydepth) ? 1.0 : (segments[i].length / definition->transparencydepth);
|
col.a = (segments[i].length >= definition->transparencydepth) ? 1.0 : (segments[i].length / definition->transparencydepth);
|
||||||
colorMask(&result, &col);
|
colorMask(&result, &col);
|
||||||
}
|
}
|
||||||
|
if (inside_length >= definition->transparencydepth)
|
||||||
|
{
|
||||||
|
col.a = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
result = renderer->applyAtmosphere(renderer, start, result);
|
result = renderer->applyAtmosphere(renderer, start, result);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue