| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/rayintersector.h>

Public Member Functions | |
| virtual ID | service () const |
| virtual bool | intersect (Engine *ctx, const Matrix &mv, const Matrix &ori, const Matrix &pr, const Shape *S, const Ray &r, RayTracingTechnique *tracer)=0 |
| VRS_TYPEINFO (RayIntersector, Handler) | |
Static Public Member Functions | |
| static bool | intersectTriangle (const Vector &rayorigin, const Vector &raydirection, const Vector &V0, const Vector &V1, const Vector &V2, const Vector &normal, Vector &pointRet) |
Static Protected Member Functions | |
| static bool | intersectTriangle (const Vector &rayorigin, const Vector &raydirection, const Vector &V0, const Vector &V1, const Vector &V2, const Matrix &mv, const Matrix &ori, const Matrix &pr, const Shape *S, RayTracingTechnique *tracer, int hint=0, unsigned int instanceInfo=0, UINT32 id=0) |
| virtual ID VRS::RayIntersector::service | ( | ) | const [virtual] |
The service name of ray intersectors is RayIntersector.
Reimplemented from VRS::Handler.
| virtual bool VRS::RayIntersector::intersect | ( | Engine * | ctx, | |
| const Matrix & | mv, | |||
| const Matrix & | ori, | |||
| const Matrix & | pr, | |||
| const Shape * | S, | |||
| const Ray & | r, | |||
| RayTracingTechnique * | tracer | |||
| ) | [pure virtual] |
`S' is the shape that is actually tested. If the intersector finds an intersection point, it has to callback tracer->registerIntersection().
Implemented in EnvironmentRenderer::GreenSpaceCompositeRayIntersector, EnvironmentRenderer::GreenSpaceRayIntersector, EnvironmentRenderer::PolygonSetWaterSurfaceRayIntersector, EnvironmentRenderer::WaterSurfaceRayIntersector, VRS::BatchTreeRayIntersectorGL, VRS::MappedVertexAttributeShapeRayIntersectorGL, VRS::PrimitiveQuadTreeAreaRayIntersectorGL, VRS::PrimitiveQuadTreeDistanceRayIntersectorGL, VRS::TexturedBatchTreeRayIntersectorGL, VRS::PolygonSetRayIntersector, VRS::TEXT::DisplacedTextureTextRayIntersector, VRS::TEXT::FontLodTextRayIntersector, VRS::TEXT::SimplePanelRayIntersector, and VRS::TEXT::TextureTextRayIntersector.
| VRS::RayIntersector::VRS_TYPEINFO | ( | RayIntersector | , | |
| Handler | ||||
| ) |
| static bool VRS::RayIntersector::intersectTriangle | ( | const Vector & | rayorigin, | |
| const Vector & | raydirection, | |||
| const Vector & | V0, | |||
| const Vector & | V1, | |||
| const Vector & | V2, | |||
| const Vector & | normal, | |||
| Vector & | pointRet | |||
| ) | [static] |
| static bool VRS::RayIntersector::intersectTriangle | ( | const Vector & | rayorigin, | |
| const Vector & | raydirection, | |||
| const Vector & | V0, | |||
| const Vector & | V1, | |||
| const Vector & | V2, | |||
| const Matrix & | mv, | |||
| const Matrix & | ori, | |||
| const Matrix & | pr, | |||
| const Shape * | S, | |||
| RayTracingTechnique * | tracer, | |||
| int | hint = 0, |
|||
| unsigned int | instanceInfo = 0, |
|||
| UINT32 | id = 0 | |||
| ) | [static, protected] |