[Bf-blender-cvs] [4d4965c4ee9] temp-workspace-changes: Workspace/Engine: Create BKE_render_* calls equivalent to BKE_scene_*

Dalai Felinto noreply at git.blender.org
Wed Sep 13 19:16:01 CEST 2017


Commit: 4d4965c4ee973972d85f67b10a69dc202a7e2ec9
Author: Dalai Felinto
Date:   Wed Sep 13 15:02:20 2017 +0200
Branches: temp-workspace-changes
https://developer.blender.org/rB4d4965c4ee973972d85f67b10a69dc202a7e2ec9

Workspace/Engine: Create BKE_render_* calls equivalent to BKE_scene_*

===================================================================

M	source/blender/blenkernel/BKE_scene.h
M	source/blender/blenkernel/intern/scene.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h
index dbe6d0ebbaf..278965763b9 100644
--- a/source/blender/blenkernel/BKE_scene.h
+++ b/source/blender/blenkernel/BKE_scene.h
@@ -170,7 +170,19 @@ int BKE_scene_num_threads(const struct Scene *scene);
 int BKE_render_num_threads(const struct RenderData *r);
 
 int BKE_render_preview_pixel_size(const struct RenderData *r);
+
+/**********************************/
+
 const char *BKE_render_engine_get(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_use_new_shading_nodes(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_use_shading_nodes_custom(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_use_world_space_shading(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_use_spherical_stereo(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_uses_blender_internal(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_uses_blender_game(const struct Scene *scene, const struct WorkSpace *workspace);
+bool BKE_render_uses_blender_eevee(const struct Scene *scene, const struct WorkSpace *workspace);
+
+/**********************************/
 
 double BKE_scene_unit_scale(const struct UnitSettings *unit, const int unit_type, double value);
 
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 493bfec842e..9d662669d03 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -1922,42 +1922,37 @@ next_set:
 
 bool BKE_scene_use_new_shading_nodes(const Scene *scene)
 {
-	const RenderEngineType *type = RE_engines_find(scene->r.engine);
-	return (type && type->flag & RE_USE_SHADING_NODES);
+	return BKE_render_use_new_shading_nodes(scene, NULL);
 }
 
 bool BKE_scene_use_shading_nodes_custom(Scene *scene)
 {
-	RenderEngineType *type = RE_engines_find(scene->r.engine);
-	return (type && type->flag & RE_USE_SHADING_NODES_CUSTOM);
+	return BKE_render_use_shading_nodes_custom(scene, NULL);
 }
 
 bool BKE_scene_use_world_space_shading(Scene *scene)
 {
-	const RenderEngineType *type = RE_engines_find(scene->r.engine);
-	return ((scene->r.mode & R_USE_WS_SHADING) ||
-	        (type && (type->flag & RE_USE_SHADING_NODES)));
+	return BKE_render_use_world_space_shading(scene, NULL);
 }
 
 bool BKE_scene_use_spherical_stereo(Scene *scene)
 {
-	RenderEngineType *type = RE_engines_find(scene->r.engine);
-	return (type && type->flag & RE_USE_SPHERICAL_STEREO);
+	return BKE_render_use_spherical_stereo(scene, NULL);
 }
 
-bool BKE_scene_uses_blender_internal(const  Scene *scene)
+bool BKE_scene_uses_blender_internal(const Scene *scene)
 {
-	return STREQ(scene->r.engine, RE_engine_id_BLENDER_RENDER);
+	return BKE_render_uses_blender_internal(scene, NULL);
 }
 
 bool BKE_scene_uses_blender_game(const Scene *scene)
 {
-	return STREQ(scene->r.engine, RE_engine_id_BLENDER_GAME);
+	return BKE_render_uses_blender_game(scene, NULL);
 }
 
 bool BKE_scene_uses_blender_eevee(const Scene *scene)
 {
-	return STREQ(scene->r.engine, RE_engine_id_BLENDER_EEVEE);
+	return BKE_render_uses_blender_eevee(scene, NULL);
 }
 
 void BKE_scene_base_flag_to_objects(SceneLayer *sl)
@@ -2072,6 +2067,9 @@ int BKE_render_preview_pixel_size(const RenderData *r)
 	return r->preview_pixel_size;
 }
 
+/* ***************************************************** */
+/* render engine settings */
+
 const char *BKE_render_engine_get(const Scene *scene, const WorkSpace *workspace)
 {
 	if (workspace == NULL || BKE_workspace_use_scene_settings_get(workspace)) {
@@ -2080,6 +2078,55 @@ const char *BKE_render_engine_get(const Scene *scene, const WorkSpace *workspace
 	return BKE_workspace_engine_get(workspace);
 }
 
+bool BKE_render_use_new_shading_nodes(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	const RenderEngineType *type = RE_engines_find(engine);
+	return (type && type->flag & RE_USE_SHADING_NODES);
+}
+
+bool BKE_render_use_shading_nodes_custom(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	RenderEngineType *type = RE_engines_find(engine);
+	return (type && type->flag & RE_USE_SHADING_NODES_CUSTOM);
+}
+
+bool BKE_render_use_world_space_shading(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	const RenderEngineType *type = RE_engines_find(engine);
+	return ((scene->r.mode & R_USE_WS_SHADING) ||
+	        (type && (type->flag & RE_USE_SHADING_NODES)));
+}
+
+bool BKE_render_use_spherical_stereo(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	RenderEngineType *type = RE_engines_find(engine);
+	return (type && type->flag & RE_USE_SPHERICAL_STEREO);
+}
+
+bool BKE_render_uses_blender_internal(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	return STREQ(engine, RE_engine_id_BLENDER_RENDER);
+}
+
+bool BKE_render_uses_blender_game(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	return STREQ(engine, RE_engine_id_BLENDER_GAME);
+}
+
+bool BKE_render_uses_blender_eevee(const Scene *scene, const WorkSpace *workspace)
+{
+	const char *engine = BKE_render_engine_get(scene, workspace);
+	return STREQ(engine, RE_engine_id_BLENDER_EEVEE);
+}
+
+/* ***************************************************** */
+
 /* Apply the needed correction factor to value, based on unit_type (only length-related are affected currently)
  * and unit->scale_length.
  */



More information about the Bf-blender-cvs mailing list