Revision: 43507
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43507
Author:   blendix
Date:     2012-01-18 22:36:12 +0000 (Wed, 18 Jan 2012)
Log Message:
-----------
Fix small code issue pointed out by nico_ga, was doing negation on unsigned 
type,
didn't seem to break anything though.

Modified Paths:
--------------
    trunk/blender/intern/cycles/kernel/kernel_shader.h
    trunk/blender/intern/cycles/render/light.cpp

Modified: trunk/blender/intern/cycles/kernel/kernel_shader.h
===================================================================
--- trunk/blender/intern/cycles/kernel/kernel_shader.h  2012-01-18 22:32:33 UTC 
(rev 43506)
+++ trunk/blender/intern/cycles/kernel/kernel_shader.h  2012-01-18 22:36:12 UTC 
(rev 43507)
@@ -151,7 +151,7 @@
                        instanced = true;
                else
 #endif
-                       sd->object = -sd->object-1;
+                       sd->object = ~sd->object;
 #ifdef __INSTANCING__
        }
 #endif

Modified: trunk/blender/intern/cycles/render/light.cpp
===================================================================
--- trunk/blender/intern/cycles/render/light.cpp        2012-01-18 22:32:33 UTC 
(rev 43506)
+++ trunk/blender/intern/cycles/render/light.cpp        2012-01-18 22:36:12 UTC 
(rev 43507)
@@ -109,7 +109,7 @@
 
        /* triangles */
        size_t offset = 0;
-       size_t j = 0;
+       int j = 0;
 
        foreach(Object *object, scene->objects) {
                Mesh *mesh = object->mesh;
@@ -128,8 +128,11 @@
                /* sum area */
                if(have_emission) {
                        Transform tfm = object->tfm;
-                       int object_id = (mesh->transform_applied)? -j-1: j;
+                       int object_id = j;
 
+                       if(mesh->transform_applied)
+                               object_id = ~object_id;
+
                        for(size_t i = 0; i < mesh->triangles.size(); i++) {
                                Shader *shader = 
scene->shaders[mesh->shader[i]];
 
@@ -161,9 +164,9 @@
        if(!multi_light) {
                float lightarea = (totarea > 0.0f)? 
totarea/scene->lights.size(): 1.0f;
 
-               for(size_t i = 0; i < scene->lights.size(); i++, offset++) {
+               for(int i = 0; i < scene->lights.size(); i++, offset++) {
                        distribution[offset].x = totarea;
-                       distribution[offset].y = __int_as_float(-i-1);
+                       distribution[offset].y = __int_as_float(~(int)i);
                        distribution[offset].z = 1.0f;
                        distribution[offset].w = scene->lights[i]->size;
                        totarea += lightarea;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to