[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