forked from bartvdbraak/blender
Bring rendering back (update all references to SETLOPPER)
This commit is contained in:
parent
c694aedcad
commit
bdd3fd64e9
@ -512,9 +512,9 @@ static void add_collision_object(Object ***objs, unsigned int *numobj, unsigned
|
||||
|
||||
// return all collision objects in scene
|
||||
// collision object will exclude self
|
||||
Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int layer, unsigned int *numcollobj, unsigned int modifier_type, bool dupli)
|
||||
Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int UNUSED(layer), unsigned int *numcollobj, unsigned int modifier_type, bool dupli)
|
||||
{
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
Object **objs;
|
||||
GroupObject *go;
|
||||
unsigned int numobj= 0, maxobj= 100;
|
||||
@ -532,9 +532,9 @@ Object **get_collisionobjects_ext(Scene *scene, Object *self, Group *group, int
|
||||
Scene *sce_iter;
|
||||
/* add objects in same layer in scene */
|
||||
for (SETLOOPER(scene, sce_iter, base)) {
|
||||
if ( base->lay & layer )
|
||||
if ((base->flag & BASE_VISIBLED) != 0) {
|
||||
add_collision_object(&objs, &numobj, &maxobj, base->object, self, level, modifier_type);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -596,11 +596,11 @@ ListBase *get_collider_cache(Scene *scene, Object *self, Group *group)
|
||||
}
|
||||
else {
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
|
||||
/* add objects in same layer in scene */
|
||||
for (SETLOOPER(scene, sce_iter, base)) {
|
||||
if (!self || (base->lay & self->lay))
|
||||
if (!self || ((base->flag & BASE_VISIBLED) != 0))
|
||||
add_collider_cache_object(&objs, base->object, self, 0);
|
||||
|
||||
}
|
||||
|
@ -3541,7 +3541,7 @@ void BKE_ptcache_bake(PTCacheBaker *baker)
|
||||
Main *bmain = baker->main;
|
||||
Scene *scene = baker->scene;
|
||||
Scene *sce_iter; /* SETLOOPER macro only */
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
ListBase pidlist;
|
||||
PTCacheID *pid = &baker->pid;
|
||||
PointCache *cache = NULL;
|
||||
|
@ -782,7 +782,7 @@ void BKE_sound_read_waveform(bSound *sound, short *stop)
|
||||
void BKE_sound_update_scene(Main *bmain, struct Scene *scene)
|
||||
{
|
||||
Object *ob;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
NlaTrack *track;
|
||||
NlaStrip *strip;
|
||||
Speaker *speaker;
|
||||
|
@ -780,18 +780,18 @@ static void screen_render_cancel(bContext *C, wmOperator *op)
|
||||
WM_jobs_kill_type(wm, scene, WM_JOB_TYPE_RENDER);
|
||||
}
|
||||
|
||||
static void clean_viewport_memory(Main *bmain, Scene *scene, int renderlay)
|
||||
static void clean_viewport_memory(Main *bmain, Scene *scene)
|
||||
{
|
||||
Object *object;
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
|
||||
for (object = bmain->object.first; object; object = object->id.next) {
|
||||
object->id.tag |= LIB_TAG_DOIT;
|
||||
}
|
||||
|
||||
for (SETLOOPER(scene, sce_iter, base)) {
|
||||
if ((base->lay & renderlay) == 0) {
|
||||
if ((base->flag & BASE_VISIBLED) == 0) {
|
||||
continue;
|
||||
}
|
||||
if (RE_allow_render_generic_object(base->object)) {
|
||||
@ -927,8 +927,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
|
||||
|
||||
/* Lock the user interface depending on render settings. */
|
||||
if (scene->r.use_lock_interface) {
|
||||
int renderlay = rj->lay_override ? rj->lay_override : scene->lay;
|
||||
|
||||
WM_set_locked_interface(CTX_wm_manager(C), true);
|
||||
|
||||
/* Set flag interface need to be unlocked.
|
||||
@ -942,7 +940,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, const wmEvent *even
|
||||
rj->interface_locked = true;
|
||||
|
||||
/* Clean memory used by viewport? */
|
||||
clean_viewport_memory(rj->main, scene, renderlay);
|
||||
clean_viewport_memory(rj->main, scene);
|
||||
}
|
||||
|
||||
/* setup job */
|
||||
|
@ -1293,7 +1293,7 @@ void ED_view3d_draw_depth(Scene *scene, ARegion *ar, View3D *v3d, bool alphaover
|
||||
if (scene->set) {
|
||||
Scene *sce_iter;
|
||||
for (SETLOOPER(scene->set, sce_iter, base)) {
|
||||
if (v3d->lay & base->lay) {
|
||||
if ((base->flag & BASE_VISIBLED) != 0) {
|
||||
draw_object(scene, sl, ar, v3d, base, 0);
|
||||
if (base->object->transflag & OB_DUPLI) {
|
||||
draw_dupli_objects_color(scene, sl, ar, v3d, base, dflag_depth, TH_UNDEFINED);
|
||||
@ -1414,7 +1414,7 @@ static void gpu_update_lamps_shadows_world(Scene *scene, View3D *v3d)
|
||||
{
|
||||
ListBase shadows;
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
World *world = scene->world;
|
||||
SceneRenderLayer *srl = v3d->scenelock ? BLI_findlink(&scene->r.layers, scene->r.actlay) : NULL;
|
||||
|
||||
@ -1550,7 +1550,7 @@ static void view3d_draw_objects(
|
||||
{
|
||||
SceneLayer *sl = C ? CTX_data_scene_layer(C) : BKE_scene_layer_active(scene);
|
||||
RegionView3D *rv3d = ar->regiondata;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
const bool do_camera_frame = !draw_offscreen;
|
||||
const bool draw_grids = !draw_offscreen && (v3d->flag2 & V3D_RENDER_OVERRIDE) == 0;
|
||||
const bool draw_floor = (rv3d->view == RV3D_VIEW_USER) || (rv3d->persp != RV3D_ORTHO);
|
||||
@ -1608,7 +1608,7 @@ static void view3d_draw_objects(
|
||||
const short dflag = DRAW_CONSTCOLOR | DRAW_SCENESET;
|
||||
Scene *sce_iter;
|
||||
for (SETLOOPER(scene->set, sce_iter, base)) {
|
||||
if (v3d->lay & base->lay) {
|
||||
if ((base->flag & BASE_VISIBLED) != 0) {
|
||||
UI_ThemeColorBlend(TH_WIRE, TH_BACK, 0.6f);
|
||||
draw_object(scene, sl, ar, v3d, base, dflag);
|
||||
|
||||
@ -2351,7 +2351,7 @@ static void view3d_stereo3d_setup_offscreen(Scene *scene, View3D *v3d, ARegion *
|
||||
static void update_lods(Scene *scene, float camera_pos[3])
|
||||
{
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
|
||||
for (SETLOOPER(scene, sce_iter, base)) {
|
||||
Object *ob = base->object;
|
||||
|
@ -1016,7 +1016,7 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la
|
||||
|
||||
static void material_lights(GPUShadeInput *shi, GPUShadeResult *shr)
|
||||
{
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
Scene *sce_iter;
|
||||
|
||||
for (SETLOOPER(shi->gpumat->scene, sce_iter, base)) {
|
||||
|
@ -4975,14 +4975,13 @@ static void add_group_render_dupli_obs(Render *re, Group *group, int nolamps, in
|
||||
}
|
||||
}
|
||||
|
||||
static void database_init_objects(Render *re, unsigned int renderlay, int nolamps, int onlyselected, Object *actob, int timeoffset)
|
||||
static void database_init_objects(Render *re, unsigned int UNUSED(renderlay), int nolamps, int onlyselected, Object *actob, int timeoffset)
|
||||
{
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
Object *ob;
|
||||
Group *group;
|
||||
ObjectInstanceRen *obi;
|
||||
Scene *sce_iter;
|
||||
int lay, vectorlay;
|
||||
|
||||
/* for duplis we need the Object texture mapping to work as if
|
||||
* untransformed, set_dupli_tex_mat sets the matrix to allow that
|
||||
@ -5010,14 +5009,18 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
|
||||
for (SETLOOPER(re->scene, sce_iter, base)) {
|
||||
ob= base->object;
|
||||
|
||||
#if 0
|
||||
TODO_LAYER; /* investigate if this is an issue*/
|
||||
/* in the prev/next pass for making speed vectors, avoid creating
|
||||
* objects that are not on a renderlayer with a vector pass, can
|
||||
* save a lot of time in complex scenes */
|
||||
vectorlay= get_vector_renderlayers(re->scene);
|
||||
lay= (timeoffset)? renderlay & vectorlay: renderlay;
|
||||
#endif
|
||||
|
||||
/* if the object has been restricted from rendering in the outliner, ignore it */
|
||||
if (is_object_restricted(re, ob)) continue;
|
||||
/* if the object is not visible, ignore it */
|
||||
if ((base->flag & BASE_VISIBLED) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* OB_DONE means the object itself got duplicated, so was already converted */
|
||||
if (ob->flag & OB_DONE) {
|
||||
@ -5030,7 +5033,7 @@ static void database_init_objects(Render *re, unsigned int renderlay, int nolamp
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ((base->lay & lay) || (ob->type==OB_LAMP && (base->lay & re->lay)) ) {
|
||||
else if (((base->flag & BASE_VISIBLED) != 0) || (ob->type==OB_LAMP)) {
|
||||
if ((ob->transflag & OB_DUPLI) && (ob->type!=OB_MBALL)) {
|
||||
DupliObject *dob;
|
||||
ListBase *duplilist;
|
||||
|
@ -2012,14 +2012,14 @@ bool RE_allow_render_generic_object(Object *ob)
|
||||
#define DEPSGRAPH_WORKAROUND_HACK
|
||||
|
||||
#ifdef DEPSGRAPH_WORKAROUND_HACK
|
||||
static void tag_dependend_objects_for_render(Scene *scene, int renderlay)
|
||||
static void tag_dependend_objects_for_render(Scene *scene, int UNUSED(renderlay))
|
||||
{
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
for (SETLOOPER(scene, sce_iter, base)) {
|
||||
Object *object = base->object;
|
||||
|
||||
if ((base->lay & renderlay) == 0) {
|
||||
if ((base->flag & BASE_VISIBLED) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -394,7 +394,7 @@ static void SetDefaultLightMode(Scene* scene)
|
||||
{
|
||||
default_light_mode = false;
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
|
||||
for (SETLOOPER(scene, sce_iter, base))
|
||||
{
|
||||
@ -1736,7 +1736,7 @@ static void UNUSED_FUNCTION(print_active_constraints2)(Object *ob) //not used, u
|
||||
static void blenderSceneSetBackground(Scene *blenderscene)
|
||||
{
|
||||
Scene *it;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
|
||||
for (SETLOOPER(blenderscene, it, base)) {
|
||||
base->object->lay = base->lay;
|
||||
@ -1911,7 +1911,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
|
||||
Scene *blenderscene = kxscene->GetBlenderScene();
|
||||
// for SETLOOPER
|
||||
Scene *sce_iter;
|
||||
BaseLegacy *base;
|
||||
Base *base;
|
||||
|
||||
// Get the frame settings of the canvas.
|
||||
// Get the aspect ratio of the canvas as designed by the user.
|
||||
|
Loading…
Reference in New Issue
Block a user