Changeset View
Changeset View
Standalone View
Standalone View
source/blender/render/intern/source/convertblender.c
| Show First 20 Lines • Show All 4,933 Lines • ▼ Show 20 Lines | static void dupli_render_particle_set(Render *re, Object *ob, int timeoffset, int level, int enable) | ||||
| if (ob->dup_group==NULL) return; | if (ob->dup_group==NULL) return; | ||||
| group= ob->dup_group; | group= ob->dup_group; | ||||
| for (go= group->gobject.first; go; go= go->next) | for (go= group->gobject.first; go; go= go->next) | ||||
| dupli_render_particle_set(re, go->ob, timeoffset, level+1, enable); | dupli_render_particle_set(re, go->ob, timeoffset, level+1, enable); | ||||
| } | } | ||||
| static int get_vector_renderlayers(Scene *UNUSED(sce)) | static int get_vector_viewlayers(Scene *UNUSED(sce)) | ||||
| { | { | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| static void add_group_render_dupli_obs(Render *re, Group *group, int nolamps, int onlyselected, Object *actob, int timeoffset, int level) | static void add_group_render_dupli_obs(Render *re, Group *group, int nolamps, int onlyselected, Object *actob, int timeoffset, int level) | ||||
| { | { | ||||
| GroupObject *go; | GroupObject *go; | ||||
| Object *ob; | Object *ob; | ||||
| ▲ Show 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | static void database_init_objects(Render *re, unsigned int UNUSED(renderlay), int nolamps, int onlyselected, Object *actob, int timeoffset) | ||||
| for (SETLOOPER(re->scene, sce_iter, base)) { | for (SETLOOPER(re->scene, sce_iter, base)) { | ||||
| ob= base->object; | ob= base->object; | ||||
| #if 0 | #if 0 | ||||
| TODO_LAYER; /* investigate if this is an issue*/ | TODO_LAYER; /* investigate if this is an issue*/ | ||||
| /* in the prev/next pass for making speed vectors, avoid creating | /* in the prev/next pass for making speed vectors, avoid creating | ||||
| * objects that are not on a renderlayer with a vector pass, can | * objects that are not on a renderlayer with a vector pass, can | ||||
| * save a lot of time in complex scenes */ | * save a lot of time in complex scenes */ | ||||
| vectorlay= get_vector_renderlayers(re->scene); | vectorlay= get_vector_viewlayers(re->scene); | ||||
| #endif | #endif | ||||
| /* if the object is not visible, ignore it */ | /* if the object is not visible, ignore it */ | ||||
| if ((base->flag & BASE_VISIBLED) == 0) { | if ((base->flag & BASE_VISIBLED) == 0) { | ||||
| continue; | continue; | ||||
| } | } | ||||
| /* OB_DONE means the object itself got duplicated, so was already converted */ | /* OB_DONE means the object itself got duplicated, so was already converted */ | ||||
| ▲ Show 20 Lines • Show All 176 Lines • ▼ Show 20 Lines | void RE_Database_FromScene(Render *re, Main *bmain, Scene *scene, unsigned int lay, int use_camera_view) | ||||
| /* in localview, lamps are using normal layers, objects only local bits */ | /* in localview, lamps are using normal layers, objects only local bits */ | ||||
| if (re->lay & 0xFF000000) | if (re->lay & 0xFF000000) | ||||
| lay &= 0xFF000000; | lay &= 0xFF000000; | ||||
| /* applies changes fully */ | /* applies changes fully */ | ||||
| if ((re->r.scemode & (R_NO_FRAME_UPDATE|R_BUTS_PREVIEW|R_VIEWPORT_PREVIEW))==0) { | if ((re->r.scemode & (R_NO_FRAME_UPDATE|R_BUTS_PREVIEW|R_VIEWPORT_PREVIEW))==0) { | ||||
| BKE_scene_graph_update_for_newframe(re->eval_ctx, re->depsgraph, re->main, re->scene, NULL); | BKE_scene_graph_update_for_newframe(re->eval_ctx, re->depsgraph, re->main, re->scene, NULL); | ||||
| render_update_anim_renderdata(re, &re->scene->r, &re->scene->render_layers); | render_update_anim_renderdata(re, &re->scene->r, &re->scene->view_layers); | ||||
| } | } | ||||
| /* if no camera, viewmat should have been set! */ | /* if no camera, viewmat should have been set! */ | ||||
| if (use_camera_view && camera) { | if (use_camera_view && camera) { | ||||
| /* called before but need to call again in case of lens animation from the | /* called before but need to call again in case of lens animation from the | ||||
| * above call to BKE_scene_graph_update_for_newframe, fixes bug. [#22702]. | * above call to BKE_scene_graph_update_for_newframe, fixes bug. [#22702]. | ||||
| * following calls don't depend on 'RE_SetCamera' */ | * following calls don't depend on 'RE_SetCamera' */ | ||||
| RE_SetCamera(re, camera); | RE_SetCamera(re, camera); | ||||
| ▲ Show 20 Lines • Show All 569 Lines • ▼ Show 20 Lines | void RE_Database_FromScene_Vectors(Render *re, Main *bmain, Scene *sce, unsigned int lay) | ||||
| re->strandsurface= strandsurface; | re->strandsurface= strandsurface; | ||||
| if (!re->test_break(re->tbh)) { | if (!re->test_break(re->tbh)) { | ||||
| RE_Database_FromScene(re, bmain, sce, lay, 1); | RE_Database_FromScene(re, bmain, sce, lay, 1); | ||||
| RE_Database_Preprocess(re); | RE_Database_Preprocess(re); | ||||
| } | } | ||||
| if (!re->test_break(re->tbh)) { | if (!re->test_break(re->tbh)) { | ||||
| int vectorlay= get_vector_renderlayers(re->scene); | int vectorlay= get_vector_viewlayers(re->scene); | ||||
| for (step= 0; step<2; step++) { | for (step= 0; step<2; step++) { | ||||
| if (step) | if (step) | ||||
| table= &newtable; | table= &newtable; | ||||
| else | else | ||||
| table= &oldtable; | table= &oldtable; | ||||
| ▲ Show 20 Lines • Show All 199 Lines • Show Last 20 Lines | |||||