Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/renderwin.c')
-rw-r--r--source/blender/src/renderwin.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/source/blender/src/renderwin.c b/source/blender/src/renderwin.c
index c26eedd26fd..b4d78b7fa37 100644
--- a/source/blender/src/renderwin.c
+++ b/source/blender/src/renderwin.c
@@ -426,7 +426,6 @@ static void renderwin_zoom(RenderWin *rw, int ZoomIn) {
renderwin_queue_redraw(rw);
}
-#define FTOCHAR(val) val<=0.0f? 0 : (val>=(1.0f-0.5f/255.0f)? 255 :(char)((255.0f*val)+0.5f))
static void renderwin_mouse_moved(RenderWin *rw)
{
@@ -1132,7 +1131,7 @@ static void do_render(int anim)
}
if(anim)
- RE_BlenderAnim(re, G.scene, G.scene->r.sfra, G.scene->r.efra);
+ RE_BlenderAnim(re, G.scene, G.scene->r.sfra, G.scene->r.efra, G.scene->frame_step);
else
RE_BlenderFrame(re, G.scene, G.scene->r.cfra);
@@ -1338,16 +1337,28 @@ void BIF_do_ogl_render(View3D *v3d, int anim)
if(anim) {
bMovieHandle *mh= BKE_get_movie_handle(G.scene->r.imtype);
+ unsigned int lay;
int cfrao= CFRA;
+ int nfra;
if(BKE_imtype_is_movie(G.scene->r.imtype))
mh->start_movie(&G.scene->r, winx, winy);
- for(CFRA= SFRA; CFRA<=EFRA; CFRA++) {
+ for(nfra= SFRA, CFRA= SFRA; CFRA<=EFRA; CFRA++) {
/* user event can close window */
if(render_win==NULL)
break;
+ if(nfra!=CFRA) {
+ if(G.scene->lay & 0xFF000000)
+ lay= G.scene->lay & 0xFF000000;
+ else
+ lay= G.scene->lay;
+
+ scene_update_for_newframe(G.scene, lay);
+ continue;
+ }
+
do_ogl_view3d_render(re, v3d, winx, winy);
glReadPixels(0, 0, winx, winy, GL_RGBA, GL_UNSIGNED_BYTE, rr->rect32);
if((G.scene->r.scemode & R_STAMP_INFO) && (G.scene->r.stamp & R_STAMP_DRAW)) {
@@ -1382,6 +1393,7 @@ void BIF_do_ogl_render(View3D *v3d, int anim)
printf("\n");
if(test_break()) break;
+ nfra+= STFRA;
}
if(BKE_imtype_is_movie(G.scene->r.imtype))