diff options
Diffstat (limited to 'source/blender/render/intern/include')
4 files changed, 28 insertions, 6 deletions
diff --git a/source/blender/render/intern/include/pointdensity.h b/source/blender/render/intern/include/pointdensity.h index 1d1e808e8d3..f122b3dc4c1 100644 --- a/source/blender/render/intern/include/pointdensity.h +++ b/source/blender/render/intern/include/pointdensity.h @@ -37,13 +37,14 @@ * Make point density kd-trees for all point density textures in the scene */ +struct EvaluationContext; struct PointDensity; struct Render; struct TexResult; void free_pointdensity(struct PointDensity *pd); -void cache_pointdensity(struct Render *re, struct PointDensity *pd); -void make_pointdensities(struct Render *re); +void cache_pointdensity(const struct EvaluationContext *eval_ctx, struct Render *re, struct PointDensity *pd); +void make_pointdensities(const struct EvaluationContext *eval_ctx, struct Render *re); void free_pointdensities(struct Render *re); int pointdensitytex(struct Tex *tex, const float texvec[3], struct TexResult *texres); diff --git a/source/blender/render/intern/include/render_result.h b/source/blender/render/intern/include/render_result.h index 8d293c938c7..b2c5758f506 100644 --- a/source/blender/render/intern/include/render_result.h +++ b/source/blender/render/intern/include/render_result.h @@ -117,5 +117,28 @@ void render_result_views_shallowcopy(struct RenderResult *dst, struct RenderResu void render_result_views_shallowdelete(struct RenderResult *rr); bool render_result_has_views(struct RenderResult *rr); +#define FOREACH_VIEW_LAYER_TO_RENDER(re_, iter_) \ +{ \ + int nr; \ + ViewLayer *iter_; \ + for (nr = 0, iter_ = (re_)->view_layers.first; \ + iter_ != NULL; \ + iter_ = iter_->next, nr++) \ + { \ + if ((re_)->r.scemode & R_SINGLE_LAYER) { \ + if (nr != re->active_view_layer) { \ + continue; \ + } \ + } \ + else { \ + if ((iter_->flag & VIEW_LAYER_RENDER) == 0) { \ + continue; \ + } \ + } + +#define FOREACH_VIEW_LAYER_TO_RENDER_END \ + } \ +} + #endif /* __RENDER_RESULT_H__ */ diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h index d24aae6ac97..2c46138c7ea 100644 --- a/source/blender/render/intern/include/render_types.h +++ b/source/blender/render/intern/include/render_types.h @@ -185,8 +185,6 @@ struct Render { /* shadow counter, detect shadow-reuse for shaders */ int shadowsamplenr[BLENDER_MAX_THREADS]; - - struct Depsgraph *depsgraph; /* main, scene, and its full copy of renderdata and world */ struct Main *main; @@ -280,7 +278,6 @@ struct Render { struct ReportList *reports; struct ImagePool *pool; - struct EvaluationContext *eval_ctx; void **movie_ctx_arr; char viewname[MAX_NAME]; diff --git a/source/blender/render/intern/include/renderdatabase.h b/source/blender/render/intern/include/renderdatabase.h index b576d69d806..1d1af7092c8 100644 --- a/source/blender/render/intern/include/renderdatabase.h +++ b/source/blender/render/intern/include/renderdatabase.h @@ -40,6 +40,7 @@ extern "C" { struct Object; struct VlakRen; struct VertRen; +struct EvaluationContext; struct HaloRen; struct Main; struct Material; @@ -164,7 +165,7 @@ void area_lamp_vectors(struct LampRen *lar); /* convertblender.c */ void init_render_world(Render *re); -void RE_Database_FromScene_Vectors(Render *re, struct Main *bmain, struct Scene *sce, unsigned int lay); +void RE_Database_FromScene_Vectors(struct EvaluationContext *eval_ctx, Render *re, struct Main *bmain, struct Scene *sce, unsigned int lay); #ifdef __cplusplus } |