Fixed render progress + added terrain raster progress
This commit is contained in:
parent
56b1a0d97f
commit
71d0eaacd0
2 changed files with 8 additions and 3 deletions
|
@ -311,8 +311,7 @@ static void _processDirtyPixels(RenderArea* area)
|
|||
}
|
||||
}
|
||||
|
||||
double progress = 0.1 + ((double)area->pixel_done / (double)area->pixel_count) * 0.9;
|
||||
area->callback_update(progress);
|
||||
area->callback_update(area->renderer->render_progress);
|
||||
|
||||
area->dirty_left = area->params.width * area->params.antialias;
|
||||
area->dirty_right = -1;
|
||||
|
@ -700,6 +699,8 @@ void renderPostProcess(RenderArea* area, int nbchunks)
|
|||
}
|
||||
}
|
||||
|
||||
area->renderer->render_progress = 0.1 + ((double)area->pixel_done / (double)area->pixel_count) * 0.9;
|
||||
|
||||
if (y < ny && !chunks[i].thread && !area->renderer->render_interrupt)
|
||||
{
|
||||
chunks[i].finished = 0;
|
||||
|
|
|
@ -154,13 +154,14 @@ void terrainGetTessellationInfo(Renderer* renderer, FuncTerrainTessellationCallb
|
|||
radius_int = 0.0;
|
||||
radius_ext = base_chunk_size;
|
||||
chunk_size = base_chunk_size;
|
||||
progress = 0.0; /* TODO */
|
||||
progress = 0.0;
|
||||
|
||||
double cx = cam.x - fmod(cam.x, base_chunk_size);
|
||||
double cz = cam.z - fmod(cam.x, base_chunk_size);
|
||||
|
||||
while (radius_int < 5000.0)
|
||||
{
|
||||
progress = radius_int / 5000.0;
|
||||
for (i = 0; i < chunk_count - 1; i++)
|
||||
{
|
||||
_getChunk(renderer, &chunk, cx - radius_ext + chunk_size * i, cz - radius_ext, chunk_size, displaced);
|
||||
|
@ -203,10 +204,13 @@ void terrainGetTessellationInfo(Renderer* renderer, FuncTerrainTessellationCallb
|
|||
static int _standardTessellationCallback(Renderer* renderer, TerrainChunkInfo* chunk, double progress)
|
||||
{
|
||||
terrainTessellateChunk(renderer, chunk, chunk->detail_hint);
|
||||
renderer->render_progress = 0.05 * progress;
|
||||
return !renderer->render_interrupt;
|
||||
}
|
||||
|
||||
void terrainRenderSurface(Renderer* renderer)
|
||||
{
|
||||
renderer->render_progress = 0.0;
|
||||
terrainGetTessellationInfo(renderer, _standardTessellationCallback, 0);
|
||||
renderer->render_progress = 0.05;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue