From dfa10eba19012fb7a20233a3d434c67f32de10db Mon Sep 17 00:00:00 2001 From: Maxime Curioni Date: Mon, 16 Jun 2008 00:51:19 +0000 Subject: soc-2008-mxcurioni: Freestyle now supports camera information (the image is still a bit larger than Blender's internal renderer, probably a field of view problem). 3d scene is now no longer rendered, only 2d scene (strokes from view map information) is. Style module is still static (contour.py), will soon be handled via independent UI panel. Phase 1 is considered finished. Phase 2 starts now: the objective is integrating Freestyle as an independent render layer. --- source/blender/render/intern/source/pipeline.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'source/blender/render') diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 41ad21f4544..5b2c7114fe3 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2194,14 +2194,26 @@ static void do_render_composite_fields_blur_3d(Render *re) static void freestyleRender(Render *re) { + float mat[4][4]; + + // init render result RE_FreeRenderResult(re->result); re->result = new_render_result(re, &re->disprect, 0, RR_USEMEM); + // set camera RE_SetCamera(re, re->scene->camera); - FRS_execute(re); + // set view + Mat4Ortho(re->scene->camera->obmat); + Mat4Invert(mat, re->scene->camera->obmat); + RE_SetView(re, mat); + // run Freestyle + re->i.starttime = PIL_check_seconds_timer(); + FRS_execute(re); + re->i.lastframetime = PIL_check_seconds_timer()- re->i.starttime; re->stats_draw(&re->i); + RE_Database_Free(re); } -- cgit v1.2.3