summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/graphics/Renderer.cpp2
-rw-r--r--src/simulation/SaveRenderer.cpp26
2 files changed, 28 insertions, 0 deletions
diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp
index 70c82f4..ff9e1ea 100644
--- a/src/graphics/Renderer.cpp
+++ b/src/graphics/Renderer.cpp
@@ -193,6 +193,8 @@ void Renderer::clearScreen(float alpha)
#ifndef OGLR
std::fill(vid, vid+(VIDXRES*VIDYRES), 0);
#endif
+#else
+ g->Clear();
#endif
}
#ifdef OGLR
diff --git a/src/simulation/SaveRenderer.cpp b/src/simulation/SaveRenderer.cpp
index 483172b..3e5c971 100644
--- a/src/simulation/SaveRenderer.cpp
+++ b/src/simulation/SaveRenderer.cpp
@@ -66,8 +66,23 @@ Thumbnail * SaveRenderer::Render(GameSave * save, bool decorations)
ren->clearScreen(1.0f);
ren->ClearAccumulation();
+
+#ifdef OGLR
ren->RenderBegin();
ren->RenderEnd();
+#else
+ int frame = 15;
+ while(frame)
+ {
+ frame--;
+ ren->render_parts();
+ ren->render_fire();
+ ren->clearScreen(1.0f);
+ }
+
+ ren->RenderBegin();
+ ren->RenderEnd();
+#endif
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
glTranslated(0, -MENUSIZE, 0);
@@ -103,8 +118,19 @@ Thumbnail * SaveRenderer::Render(GameSave * save, bool decorations)
pixel * src = g->vid;
ren->ClearAccumulation();
+
+ int frame = 15;
+ while(frame)
+ {
+ frame--;
+ ren->render_parts();
+ ren->render_fire();
+ ren->clearScreen(1.0f);
+ }
+
ren->RenderBegin();
ren->RenderEnd();
+
pData = (pixel *)malloc(PIXELSIZE * ((width*CELL)*(height*CELL)));
dst = pData;