Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Susano Pinto <andresusanopinto@gmail.com>2009-09-14 00:59:25 +0400
committerAndre Susano Pinto <andresusanopinto@gmail.com>2009-09-14 00:59:25 +0400
commitf8657be654f89c6a4826ef8dd3e2275dfe2d4a5a (patch)
tree96c58351ce1ba0071cc6919155fb82c6de7d5ef7 /source/blender/render/intern/include/raycounter.h
parent732bf328c51d630bace201b40ab2bedcb314d96e (diff)
*Ray counters (number of BB/primitive tests/hits and other raytrace counters) can now be enabled/disabled at compile-time.
#define RE_RAYCOUNTER (/source/blender/render/extern/include/RE_raytrace.h) *Some other small organization on code (will be disable as this only matters for testing and developping)
Diffstat (limited to 'source/blender/render/intern/include/raycounter.h')
-rw-r--r--source/blender/render/intern/include/raycounter.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/source/blender/render/intern/include/raycounter.h b/source/blender/render/intern/include/raycounter.h
new file mode 100644
index 00000000000..06579b366ee
--- /dev/null
+++ b/source/blender/render/intern/include/raycounter.h
@@ -0,0 +1,66 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ *
+ * The Original Code is Copyright (C) 2009 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): André Pinto.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+#ifndef RE_RAYCOUNTER_H
+#define RE_RAYCOUNTER_H
+
+#include "RE_raytrace.h"
+
+
+#ifdef RE_RAYCOUNTER
+
+typedef struct RayCounter RayCounter;
+struct RayCounter
+{
+
+ struct
+ {
+ unsigned long long test, hit;
+
+ } faces, bb, simd_bb, raycast, raytrace_hint, rayshadow_last_hit;
+};
+
+/* #define RE_RC_INIT(isec, shi) (isec).count = re_rc_counter+(shi).thread */
+#define RE_RC_INIT(isec, shi) (isec).raycounter = &((shi).raycounter)
+void RE_RC_INFO (RayCounter *rc);
+void RE_RC_MERGE(RayCounter *rc, RayCounter *tmp);
+#define RE_RC_COUNT(var) (var)++
+
+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)
+
+#endif
+
+
+#endif