#include <RobGeometry.hxx>
Inheritance diagram for RayGina::CORE::RobGeometry:

Public Member Functions | |
| virtual | ~RobGeometry () |
| virtual const RBool | intersect (RRay *ray)=0 |
| Methode to calc the intersection of an object with a single ray. | |
| virtual const RBool | occlude (const RRay *ray)=0 |
| Method to calc the intersection of an object with a single shadow ray. | |
| virtual const RVec3r | getNormal (RRay *ray)=0 |
| get the normal from the object according to the given ray | |
| virtual const RVec2r | getUV (RRay *ray)=0 |
| get the uv from the object according to the given ray | |
| virtual const RStatus | setVolumeShader (RvsBase *newShader)=0 |
| This methods sets the volume shader for the object that will be used when a valid intersection is found with this object. | |
| virtual RvsBase * | getVolumeShader () const |
| Method to get the volume shader used for rendering the object. | |
| virtual const RStatus | setSurfaceShader (RssBase *newShader)=0 |
| This methods sets the surface shader for the object that will be used when a valid intersection is found with this object. | |
| virtual RssBase * | getSurfaceShader () const =0 |
| Method to get the shader used for rendering the object. | |
| virtual const RBool | intersectAABB (RobAABB *voxel) const =0 |
| Check for intersections of the object with a given axis-aligned-box. | |
| virtual const RBool | getRenderObjects (RobAccelerator *renderlist)=0 |
| adds several objects to the list that describe the geometry or the instance itself on simple objects | |
| virtual const RStatus | getBoundingAABB (RobAABB *boundingBox) const =0 |
This abstract class provides the interface to be implemented by a renderable rayGina object.
Definition at line 22 of file RobGeometry.hxx.
|
|
Definition at line 25 of file RobGeometry.hxx. |
|
|
Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
get the normal from the object according to the given ray returns the normal from the surface according to the last intersection tes with the given ray THE GIVEN RAY MUST BE THE SAME LIKE THE ONE YOU PERFORMED THE LAST INTESECTION TEST WITH THE OBJECT!! Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshNormalsTriangle, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
adds several objects to the list that describe the geometry or the instance itself on simple objects This method is for complex objects, compound objects or objects that needs a tesselation for efficient rayTracing It adds a representation of the object in the list by using one or more other geometries. Example: A tessalation of a NURBS-patch could add lots of triangles which approximate the NURBS-patch Implements RayGina::CORE::RobBase. Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
Method to get the shader used for rendering the object. Every object can use a separate shader, so you can use this method to get the stored shader for this object and so you can use it for shading calculations.
Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
get the uv from the object according to the given ray returns the uv from the surface according to the last intersection tes with the given ray THE GIVEN RAY MUST BE THE SAME LIKE THE ONE YOU PERFORMED THE LAST INTESECTION TEST WITH THE OBJECT!! Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshNormalsUVTriangle, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
Method to get the volume shader used for rendering the object. Every object can use a separate volume shader, so you can use this method to get the stored shader for this object and so you can use it for shading ray while it is travling through the object.
Reimplemented in RayGina::CORE::RobMeshTriangle. Definition at line 59 of file RobGeometry.hxx. |
|
|
Methode to calc the intersection of an object with a single ray.
Implements RayGina::CORE::RobBase. Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
Check for intersections of the object with a given axis-aligned-box. Performs a intersection test with a axis-aligned bounding-volume Needed for generation of acceleration strcutures Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
Method to calc the intersection of an object with a single shadow ray. returns true if there is an intersection with the object and the given ray but NO other information like distance are saved in the ray Implements RayGina::CORE::RobBase. Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
This methods sets the surface shader for the object that will be used when a valid intersection is found with this object. attach a shader to the object, the previous one will be overwritten (BUT NOT DELETED!) (ONLY 1 shader per object)
Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
|
|
This methods sets the volume shader for the object that will be used when a valid intersection is found with this object. attach a shader to the object, the previous one will be overwritten (BUT NOT DELETED!) (ONLY 1 shader per object)
Implemented in RayGina::CORE::RobAABB, RayGina::CORE::RobMeshTriangle, RayGina::CORE::RobSphere, and RayGina::CORE::RobTriangle. |
1.3.9.1