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.