This is the documentation for Enlighten.

module Ray Tracing

Classes

Name Description
Geo::AbstractRayChunk

Buffer that holds a chunk of rays and results.

Geo::AbstractRayChunk::ResultsIterator

Iterator to a const ray result, allows iterating linearly over the ray results.

Geo::ClippedRay

A finite ray with near and far clipping planes.

Geo::GeoEmbreeContext

An IGeoRayTracingContext that implements the Intel Embree raytracer.

Geo::IGeoRayTracingContext

Ray-tracing context.

Geo::InitRayTracing

Small helper class to ensure init/cleanup are called when object is created/destroyed.

Geo::IRtMesh

An interface used by the raytracers to fill their internal mesh data structures.

Geo::Rayf

A single ray.

Geo::RayResult

The result of a ray intersection test.

Geo::RtMesh

A mesh container that can be stored to disk and used later as a ray tracing mesh.

Geo::RtMeshGroup

A ray tracing mesh that is a collection of other meshes.

Enums

Name Description
ECpuGpuMode

Controls how the hardware is used by Enlighten to generate precompute data.

eRTAPI

Ray-tracing APIs.

Typedefs

Name Description
AbstractRayChunk< ClippedRay > ClippedRayChunk

A chunk of clipped rays.

bool(* MemoryLimitCallback)(s64 delta)

Called when memory is allocated or deallocated. Returns false when memory exceeds the limit.

AbstractRayChunk< Rayf > RayChunk

A chunk of rays.

GeoEmbreeContext RayTracingContext

The default ray tracing context to use when casting single rays.

Variables

Name Description
const char * g_FriendlyRTAPINames[RTAPI_NUM_API] = { "EMBREE" }

Names of the ray-tracing APIs.

Functions

Name Description
GetFriendlyName(eRTAPI)

Gets the name of the given ray-tracing API.

GetIsPointOccluded(const Rayf &, const Geo::v128 &)

Checks if the given point is behind the intersection of the given ray.

LogStatistics(const IGeoRayTracingContext *, const double &)

Log ray tracing timings.


ECpuGpuMode


public: enum ECpuGpuMode
{
    ertCpuShared = 0,
    ertCpuExclusive,
    ertDefault = ertCpuShared
}


Controls how the hardware is used by Enlighten to generate precompute data.

enumerators
ertCpuShared

Use CPU only. Allow multiple concurrent tasks between separate processes.

ertCpuExclusive

Use CPU only. Block task if another Enlighten precompute task is running.

ertDefault

Default is to use CPU only.


eRTAPI


public: enum eRTAPI
{
    RTAPI_EMBREE,
    RTAPI_NUM_API
}


Ray-tracing APIs.

enumerators
RTAPI_EMBREE
RTAPI_NUM_API


const char* Geo::GetFriendlyName


public: const char * GetFriendlyName
(
    eRTAPI api
)


Gets the name of the given ray-tracing API.


bool Geo::RayResult::GetIsPointOccluded


public: bool GetIsPointOccluded
(
    const Rayf & ray,
    const Geo::v128 & point
) const


Checks if the given point is behind the intersection of the given ray.


void GEO_CALL Geo::LogStatistics


public: void GEO_CALL LogStatistics
(
    const IGeoRayTracingContext * rtCtx,
    const double & time
)


Log ray tracing timings.