class Geo GeoEmbreeContext

This is the documentation for Enlighten.

class Geo GeoEmbreeContext

class Geo::GeoEmbreeContext

    └>Geo::IGeoRayTracingContext
        └>Geo::IGeoReleasable

An IGeoRayTracingContext that implements the Intel Embree raytracer.

Note

Enlighten changes

  • We have changed the GeoEmbreecontext create and raytrace function implementation using Intel Embree 3.11.

  • We do not change the implementation of backfacing triangle and Level of Detail filtering.

  • Level of Detail filtering (required for baking) is only implemented in the Plücker Triangle4v Intersector, other paths are unavailable.

  • Prevent the TaskScheduler from being allocated at program initialisation, so we control when it uses memory.

 

Functions

Name

Description

Name

Description

Create(const IRtMesh *, bool)

Creates a GeoEmbreeContext.

DistanceQuery(const Geo::v128 &, const Geo::v128 &, Geo::u32)

Ray trace a ray built from origin and direction. Returns length of ray.

GetAPI()

Query which API the interface is using.

GetAPI()

Query which API the interface is using.

GetNumRaysTraced()

Total number of rays traced.

GetNumRaysTraced()

Total number of rays traced.

GetNumTriangles()

Ray trace a chunk of rays. Returns true on success.

GetNumTriangles()

Ray trace a chunk of rays. Returns true on success.

GetRayTraceSecs()

Total number of seconds used on raw ray tracing.

GetRayTraceSecs()

Total number of seconds used on raw ray tracing.

IsAnyHitTraversal()

Is the context using any hit traversal.

IsAnyHitTraversal()

Is the context using any hit traversal.

ReentrantAndThreadSafe()

Is this object re-entrant and thread safe?

ReentrantAndThreadSafe()

Is this object re-entrant and thread safe?

Release()

Free this object that was created within the Enlighten libraries.

Release()

Free this object that was created within the Enlighten libraries.

TraceChunk(ClippedRayChunk *)

Ray trace a chunk of rays.

TraceChunk(RayChunk *)

Ray trace a chunk of rays.

TraceChunk(Geo::ClippedRayChunk *)

Ray trace a chunk of rays.

TraceChunk(Geo::RayChunk *)

Ray trace a chunk of rays.

TraceRay(const Geo::v128 &, const Geo::v128 &, Geo::u32)

Ray trace a ray built from origin and direction. Returns full ray info.

TraceRay(const Geo::ClippedRay &, RayResult &, Geo::u32)

Ray trace a ray. Returns true on success.

TraceRay(const Geo::ClippedRay &, RayResult &, Geo::u32)

Ray trace a ray. Returns true on success.



static GeoEmbreeContext* Geo::GeoEmbreeContext::Create


public: GeoEmbreeContext * Create
(
    const IRtMesh * world,
    bool anyHitTraversal
)