Raytrace modifications from the Render Branch.
[blender-staging.git] / source / blender / render / intern / include / raycounter.h
index 06579b366ee86ea6a2ae8b15f80d2a368e28aa07..1a9b91c17a8f733b7390b1e7ad623b4c0bb98c98 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2009 Blender Foundation.
  * All rights reserved.
  *
  * ***** END GPL LICENSE BLOCK *****
  */
+
 #ifndef RE_RAYCOUNTER_H
 #define RE_RAYCOUNTER_H
 
-#include "RE_raytrace.h"
+//#define RE_RAYCOUNTER                        /* enable counters per ray, usefull for measuring raytrace structures performance */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #ifdef RE_RAYCOUNTER
 
-typedef struct RayCounter RayCounter;
-struct RayCounter
-{
+/* ray counter functions */
 
-       struct
-       {
+typedef struct RayCounter {
+       struct {
                unsigned long long test, hit;
-               
        } faces, bb, simd_bb, raycast, raytrace_hint, rayshadow_last_hit;
-};
+} RayCounter;
 
-/* #define RE_RC_INIT(isec, shi) (isec).count = re_rc_counter+(shi).thread */
-#define RE_RC_INIT(isec, shi) (isec).raycounter = &((shi).raycounter)
+#define RE_RC_INIT(isec, shi) (isec).raycounter = &((shi).shading.raycounter)
 void RE_RC_INFO (RayCounter *rc);
 void RE_RC_MERGE(RayCounter *rc, RayCounter *tmp);
 #define RE_RC_COUNT(var) (var)++
@@ -55,12 +55,17 @@ extern RayCounter re_rc_counter[];
 
 #else
 
-#      define RE_RC_INIT(isec,shi)
-#      define RE_RC_INFO(rc)
-#      define RE_RC_MERGE(dest,src)
-#      define  RE_RC_COUNT(var)
+/* ray counter stubs */
+
+#define RE_RC_INIT(isec,shi)
+#define RE_RC_INFO(rc)
+#define RE_RC_MERGE(dest,src)
+#define        RE_RC_COUNT(var)
                
 #endif
 
+#ifdef __cplusplus
+}
+#endif
 
 #endif