[Bf-blender-cvs] [4f949bb] bake-cycles: Cycles-Bake: expose only the modes suggested by brecht
Dalai Felinto
noreply at git.blender.org
Wed Apr 23 02:46:43 CEST 2014
Commit: 4f949bbd7de4e91547ceb719bb716d3e7e775936
Author: Dalai Felinto
Date: Tue Jan 21 20:07:33 2014 -0200
https://developer.blender.org/rB4f949bbd7de4e91547ceb719bb716d3e7e775936
Cycles-Bake: expose only the modes suggested by brecht
===================================================================
M intern/cycles/blender/blender_session.cpp
M intern/cycles/kernel/kernel_displace.h
M intern/cycles/kernel/kernel_types.h
===================================================================
diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp
index 8c52982..27f3ba7 100644
--- a/intern/cycles/blender/blender_session.cpp
+++ b/intern/cycles/blender/blender_session.cpp
@@ -266,6 +266,54 @@ static ShaderEvalType get_shader_type(const string& pass_type)
{
const char *shader_type = pass_type.c_str();
+ /* data passes */
+ if (strcmp(shader_type, "NORMAL")==0)
+ return SHADER_EVAL_NORMAL;
+ else if (strcmp(shader_type, "UV")==0)
+ return SHADER_EVAL_UV;
+ else if (strcmp(shader_type, "DIFFUSE_COLOR")==0)
+ return SHADER_EVAL_DIFFUSE_COLOR;
+ else if (strcmp(shader_type, "GLOSSY_COLOR")==0)
+ return SHADER_EVAL_GLOSSY_COLOR;
+ else if (strcmp(shader_type, "TRANSMISSION_COLOR")==0)
+ return SHADER_EVAL_TRANSMISSION_COLOR;
+ else if (strcmp(shader_type, "SUBSURFACE_COLOR")==0)
+ return SHADER_EVAL_SUBSURFACE_COLOR;
+ else if (strcmp(shader_type, "EMIT")==0)
+ return SHADER_EVAL_EMISSION;
+
+ /* light passes */
+ else if (strcmp(shader_type, "AO")==0)
+ return SHADER_EVAL_AO;
+ else if (strcmp(shader_type, "COMBINED")==0)
+ return SHADER_EVAL_COMBINED;
+ else if (strcmp(shader_type, "SHADOW")==0)
+ return SHADER_EVAL_SHADOW;
+ else if (strcmp(shader_type, "DIFFUSE_DIRECT")==0)
+ return SHADER_EVAL_DIFFUSE_DIRECT;
+ else if (strcmp(shader_type, "GLOSSY_DIRECT")==0)
+ return SHADER_EVAL_GLOSSY_DIRECT;
+ else if (strcmp(shader_type, "TRANSMISSION_DIRECT")==0)
+ return SHADER_EVAL_TRANSMISSION_DIRECT;
+ else if (strcmp(shader_type, "SUBSURFACE_DIRECT")==0)
+ return SHADER_EVAL_SUBSURFACE_DIRECT;
+ else if (strcmp(shader_type, "DIFFUSE_INDIRECT")==0)
+ return SHADER_EVAL_DIFFUSE_INDIRECT;
+ else if (strcmp(shader_type, "GLOSSY_INDIRECT")==0)
+ return SHADER_EVAL_GLOSSY_INDIRECT;
+ else if (strcmp(shader_type, "TRANSMISSION_INDIRECT")==0)
+ return SHADER_EVAL_TRANSMISSION_INDIRECT;
+ else if (strcmp(shader_type, "SUBSURFACE_INDIRECT")==0)
+ return SHADER_EVAL_SUBSURFACE_INDIRECT;
+
+ /* extra */
+ else if (strcmp(shader_type, "ENVIRONMENT")==0)
+ return SHADER_EVAL_ENVIRONMENT;
+
+ else
+ return SHADER_EVAL_BAKE;
+
+#if 0
if (strcmp(shader_type, "COMBINED")==0)
return SHADER_EVAL_COMBINED;
else if (strcmp(shader_type, "Z")==0)
@@ -331,6 +379,7 @@ static ShaderEvalType get_shader_type(const string& pass_type)
return SHADER_EVAL_REFLECTION;
else
return SHADER_EVAL_BAKE;
+#endif
}
static BL::RenderResult begin_render_result(BL::RenderEngine b_engine, int x, int y, int w, int h, const char *layername)
diff --git a/intern/cycles/kernel/kernel_displace.h b/intern/cycles/kernel/kernel_displace.h
index 54f7bcf..088bd52 100644
--- a/intern/cycles/kernel/kernel_displace.h
+++ b/intern/cycles/kernel/kernel_displace.h
@@ -45,6 +45,32 @@ ccl_device void kernel_bake_evaluate(KernelGlobals *kg, ccl_global uint4 *input,
int segment = ~0;
switch (type) {
+ /* data passes */
+ case SHADER_EVAL_NORMAL:
+ case SHADER_EVAL_UV:
+ case SHADER_EVAL_DIFFUSE_COLOR:
+ case SHADER_EVAL_GLOSSY_COLOR:
+ case SHADER_EVAL_TRANSMISSION_COLOR:
+ case SHADER_EVAL_SUBSURFACE_COLOR:
+ case SHADER_EVAL_EMISSION:
+
+ /* light passes */
+ case SHADER_EVAL_AO:
+ case SHADER_EVAL_COMBINED:
+ case SHADER_EVAL_SHADOW:
+ case SHADER_EVAL_DIFFUSE_DIRECT:
+ case SHADER_EVAL_GLOSSY_DIRECT:
+ case SHADER_EVAL_TRANSMISSION_DIRECT:
+ case SHADER_EVAL_SUBSURFACE_DIRECT:
+ case SHADER_EVAL_DIFFUSE_INDIRECT:
+ case SHADER_EVAL_GLOSSY_INDIRECT:
+ case SHADER_EVAL_TRANSMISSION_INDIRECT:
+ case SHADER_EVAL_SUBSURFACE_INDIRECT:
+
+ /* extra */
+ case SHADER_EVAL_ENVIRONMENT:
+
+#if 0
case SHADER_EVAL_COMBINED:
{
/* TODO it's not taking into consideration the
@@ -168,7 +194,8 @@ ccl_device void kernel_bake_evaluate(KernelGlobals *kg, ccl_global uint4 *input,
out = sd.N;
break;
}
- case SHADER_EVAL_BAKE:
+#endif
+
default:
{
/* no real shader, returning the position of the verts for debugging */
diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h
index 209b0a4..c636a9c 100644
--- a/intern/cycles/kernel/kernel_types.h
+++ b/intern/cycles/kernel/kernel_types.h
@@ -165,6 +165,31 @@ typedef enum ShaderEvalType {
SHADER_EVAL_BAKE, /* no real shade, it's used in the code to
* differentiate the type of shader eval from the above
*/
+ /* data passes */
+ SHADER_EVAL_NORMAL,
+ SHADER_EVAL_UV,
+ SHADER_EVAL_DIFFUSE_COLOR,
+ SHADER_EVAL_GLOSSY_COLOR,
+ SHADER_EVAL_TRANSMISSION_COLOR,
+ SHADER_EVAL_SUBSURFACE_COLOR,
+ SHADER_EVAL_EMISSION,
+
+ /* light passes */
+ SHADER_EVAL_AO,
+ SHADER_EVAL_COMBINED,
+ SHADER_EVAL_SHADOW,
+ SHADER_EVAL_DIFFUSE_DIRECT,
+ SHADER_EVAL_GLOSSY_DIRECT,
+ SHADER_EVAL_TRANSMISSION_DIRECT,
+ SHADER_EVAL_SUBSURFACE_DIRECT,
+ SHADER_EVAL_DIFFUSE_INDIRECT,
+ SHADER_EVAL_GLOSSY_INDIRECT,
+ SHADER_EVAL_TRANSMISSION_INDIRECT,
+ SHADER_EVAL_SUBSURFACE_INDIRECT,
+
+ /* extra */
+ SHADER_EVAL_ENVIRONMENT,
+#if 0
SHADER_EVAL_COMBINED,
SHADER_EVAL_DEPTH,
SHADER_EVAL_MIST,
@@ -194,6 +219,7 @@ typedef enum ShaderEvalType {
SHADER_EVAL_SPECULAR,
SHADER_EVAL_REFLECTION,
SHADER_EVAL_ENVIRONMENT,
+#endif
} ShaderEvalType;
/* Path Tracing
More information about the Bf-blender-cvs
mailing list