Code cleanup: add some asserts and fix a typo in BVH build.
authorJohn Pavel <jrp@dial.pipex.com>
Mon, 21 Apr 2014 12:06:29 +0000 (14:06 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Mon, 21 Apr 2014 12:44:36 +0000 (14:44 +0200)
Reviewed By: brecht

Differential Revision: https://developer.blender.org/D467

intern/cycles/bvh/bvh_build.cpp
intern/cycles/render/nodes.cpp

index 814fbf22e234809f76b57d0707f44386a5c65f6b..9367e7b86b4ffe4993690a6875b451c3294dfcdb 100644 (file)
@@ -511,7 +511,7 @@ void BVHBuild::rotate(BVHNode *node, int max_depth)
        /* find best rotation. we pick a target child of a first child, and swap
         * this with an other child. we perform the best such swap. */
        float best_cost = FLT_MAX;
-       int best_child = -1, bets_target = -1, best_other = -1;
+       int best_child = -1, best_target = -1, best_other = -1;
 
        for(size_t c = 0; c < 2; c++) {
                /* ignore leaf nodes as we cannot descent into */
@@ -535,11 +535,11 @@ void BVHBuild::rotate(BVHNode *node, int max_depth)
 
                        if(cost0 < cost1) {
                                best_cost = cost0;
-                               bets_target = 0;
+                               best_target = 0;
                        }
                        else {
                                best_cost = cost0;
-                               bets_target = 1;
+                               best_target = 1;
                        }
                }
        }
@@ -548,10 +548,13 @@ void BVHBuild::rotate(BVHNode *node, int max_depth)
        if(best_cost >= 0)
                return;
 
+       assert(best_child == 0 || best_child == 1);
+       assert(best_target != -1);
+
        /* perform the best found tree rotation */
        InnerNode *child = (InnerNode*)parent->children[best_child];
 
-       swap(parent->children[best_other], child->children[bets_target]);
+       swap(parent->children[best_other], child->children[best_target]);
        child->m_bounds = merge(child->children[0]->m_bounds, child->children[1]->m_bounds);
 }
 
index 576dcecc18a9347e82ab1699711243d41bbd6d31..87affcbb49d36cf3fddf7ab051c709e246366f1c 100644 (file)
@@ -629,6 +629,8 @@ void SkyTextureNode::compile(SVMCompiler& compiler)
                sky_texture_precompute_old(&sunsky, sun_direction, turbidity);
        else if(type_enum[type] == NODE_SKY_NEW)
                sky_texture_precompute_new(&sunsky, sun_direction, turbidity, ground_albedo);
+       else
+               assert(false);
 
        if(vector_in->link)
                compiler.stack_assign(vector_in);
@@ -666,6 +668,8 @@ void SkyTextureNode::compile(OSLCompiler& compiler)
                sky_texture_precompute_old(&sunsky, sun_direction, turbidity);
        else if(type_enum[type] == NODE_SKY_NEW)
                sky_texture_precompute_new(&sunsky, sun_direction, turbidity, ground_albedo);
+       else
+               assert(false);
                
        compiler.parameter("sky_model", type);
        compiler.parameter("theta", sunsky.theta);