Code cleanup: remove copy of shader graph for bump, no longer needed.
This commit is contained in:
@@ -799,29 +799,21 @@ void SVMCompiler::compile(Scene *scene,
|
||||
Summary *summary)
|
||||
{
|
||||
/* copy graph for shader with bump mapping */
|
||||
ShaderNode *node = shader->graph->output();
|
||||
ShaderNode *output = shader->graph->output();
|
||||
int start_num_svm_nodes = svm_nodes.size();
|
||||
|
||||
const double time_start = time_dt();
|
||||
|
||||
if(node->input("Surface")->link && node->input("Displacement")->link)
|
||||
if(!shader->graph_bump)
|
||||
shader->graph_bump = shader->graph->copy();
|
||||
bool has_bump = (shader->displacement_method != DISPLACE_TRUE) &&
|
||||
output->input("Surface")->link && output->input("Displacement")->link;
|
||||
|
||||
/* finalize */
|
||||
{
|
||||
scoped_timer timer((summary != NULL)? &summary->time_finalize: NULL);
|
||||
shader->graph->finalize(scene,
|
||||
false,
|
||||
shader->has_integrator_dependency);
|
||||
}
|
||||
|
||||
if(shader->graph_bump) {
|
||||
scoped_timer timer((summary != NULL)? &summary->time_finalize_bump: NULL);
|
||||
shader->graph_bump->finalize(scene,
|
||||
true,
|
||||
shader->has_integrator_dependency,
|
||||
shader->displacement_method == DISPLACE_BOTH);
|
||||
has_bump,
|
||||
shader->has_integrator_dependency,
|
||||
shader->displacement_method == DISPLACE_BOTH);
|
||||
}
|
||||
|
||||
current_shader = shader;
|
||||
@@ -830,7 +822,8 @@ void SVMCompiler::compile(Scene *scene,
|
||||
shader->has_surface_emission = false;
|
||||
shader->has_surface_transparent = false;
|
||||
shader->has_surface_bssrdf = false;
|
||||
shader->has_bssrdf_bump = false;
|
||||
shader->has_bump = has_bump;
|
||||
shader->has_bssrdf_bump = has_bump;
|
||||
shader->has_volume = false;
|
||||
shader->has_displacement = false;
|
||||
shader->has_surface_spatial_varying = false;
|
||||
@@ -839,9 +832,9 @@ void SVMCompiler::compile(Scene *scene,
|
||||
shader->has_integrator_dependency = false;
|
||||
|
||||
/* generate bump shader */
|
||||
if(shader->displacement_method != DISPLACE_TRUE && shader->graph_bump) {
|
||||
if(has_bump) {
|
||||
scoped_timer timer((summary != NULL)? &summary->time_generate_bump: NULL);
|
||||
compile_type(shader, shader->graph_bump, SHADER_TYPE_BUMP);
|
||||
compile_type(shader, shader->graph, SHADER_TYPE_BUMP);
|
||||
svm_nodes[index].y = svm_nodes.size();
|
||||
svm_nodes.insert(svm_nodes.end(),
|
||||
current_svm_nodes.begin(),
|
||||
@@ -853,7 +846,7 @@ void SVMCompiler::compile(Scene *scene,
|
||||
scoped_timer timer((summary != NULL)? &summary->time_generate_surface: NULL);
|
||||
compile_type(shader, shader->graph, SHADER_TYPE_SURFACE);
|
||||
/* only set jump offset if there's no bump shader, as the bump shader will fall thru to this one if it exists */
|
||||
if(shader->displacement_method == DISPLACE_TRUE || !shader->graph_bump) {
|
||||
if(!has_bump) {
|
||||
svm_nodes[index].y = svm_nodes.size();
|
||||
}
|
||||
svm_nodes.insert(svm_nodes.end(),
|
||||
@@ -895,7 +888,6 @@ SVMCompiler::Summary::Summary()
|
||||
: num_svm_nodes(0),
|
||||
peak_stack_usage(0),
|
||||
time_finalize(0.0),
|
||||
time_finalize_bump(0.0),
|
||||
time_generate_surface(0.0),
|
||||
time_generate_bump(0.0),
|
||||
time_generate_volume(0.0),
|
||||
@@ -911,10 +903,7 @@ string SVMCompiler::Summary::full_report() const
|
||||
report += string_printf("Peak stack usage: %d\n", peak_stack_usage);
|
||||
|
||||
report += string_printf("Time (in seconds):\n");
|
||||
report += string_printf(" Finalize: %f\n", time_finalize);
|
||||
report += string_printf(" Bump finalize: %f\n", time_finalize_bump);
|
||||
report += string_printf("Finalize: %f\n", time_finalize +
|
||||
time_finalize_bump);
|
||||
report += string_printf("Finalize: %f\n", time_finalize);
|
||||
report += string_printf(" Surface: %f\n", time_generate_surface);
|
||||
report += string_printf(" Bump: %f\n", time_generate_bump);
|
||||
report += string_printf(" Volume: %f\n", time_generate_volume);
|
||||
|
Reference in New Issue
Block a user