module Ray Tracing

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.

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.