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:
Diffstat (limited to 'source/blender/render/intern/raytrace/rayobject_internal.h')
-rw-r--r--source/blender/render/intern/raytrace/rayobject_internal.h68
1 files changed, 34 insertions, 34 deletions
diff --git a/source/blender/render/intern/raytrace/rayobject_internal.h b/source/blender/render/intern/raytrace/rayobject_internal.h
index 8e39b687b34..8c8e432b6bd 100644
--- a/source/blender/render/intern/raytrace/rayobject_internal.h
+++ b/source/blender/render/intern/raytrace/rayobject_internal.h
@@ -33,40 +33,40 @@ typedef struct RayObjectControl {
int RE_rayobjectcontrol_test_break(RayObjectControl *c);
/* RayObject
-
- A ray object is everything where we can cast rays like:
- * a face/triangle
- * an octree
- * a bvh tree
- * an octree of bvh's
- * a bvh of bvh's
-
-
- All types of RayObjects can be created by implementing the
- callbacks of the RayObject.
-
- Due to high computing time evolved with casting on faces
- there is a special type of RayObject (named RayFace)
- which won't use callbacks like other generic nodes.
-
- In order to allow a mixture of RayFace+RayObjects,
- all RayObjects must be 4byte aligned, allowing us to use the
- 2 least significant bits (with the mask 0x03) to define the
- type of RayObject.
-
- This leads to 4 possible types of RayObject:
-
- addr&3 - type of object
- 0 Self (reserved for each structure)
- 1 RayFace (tri/quad primitive)
- 2 RayObject (generic with API callbacks)
- 3 VlakPrimitive
- (vlak primitive - to be used when we have a vlak describing the data
- eg.: on render code)
-
- 0 means it's reserved and has it own meaning inside each ray acceleration structure
- (this way each structure can use the allign offset to determine if a node represents a
- RayObject primitive, which can be used to save memory)
+ *
+ * A ray object is everything where we can cast rays like:
+ * * a face/triangle
+ * * an octree
+ * * a bvh tree
+ * * an octree of bvh's
+ * * a bvh of bvh's
+ *
+ *
+ * All types of RayObjects can be created by implementing the
+ * callbacks of the RayObject.
+ *
+ * Due to high computing time evolved with casting on faces
+ * there is a special type of RayObject (named RayFace)
+ * which won't use callbacks like other generic nodes.
+ *
+ * In order to allow a mixture of RayFace+RayObjects,
+ * all RayObjects must be 4byte aligned, allowing us to use the
+ * 2 least significant bits (with the mask 0x03) to define the
+ * type of RayObject.
+ *
+ * This leads to 4 possible types of RayObject:
+ *
+ * addr&3 - type of object
+ * 0 Self (reserved for each structure)
+ * 1 RayFace (tri/quad primitive)
+ * 2 RayObject (generic with API callbacks)
+ * 3 VlakPrimitive
+ * (vlak primitive - to be used when we have a vlak describing the data
+ * eg.: on render code)
+ *
+ * 0 means it's reserved and has it own meaning inside each ray acceleration structure
+ * (this way each structure can use the allign offset to determine if a node represents a
+ * RayObject primitive, which can be used to save memory)
*/
/* used to test the type of ray object */