|
Nebula
|
#include <raytracingcontext.h>
Inherits Graphics::GraphicsContext.
Public Member Functions | |
| RaytracingContext () | |
| constructor | |
| ~RaytracingContext () | |
| destructor | |
Public Member Functions inherited from Graphics::GraphicsContext | |
| GraphicsContext () | |
| constructor | |
| virtual | ~GraphicsContext () |
| destructor | |
Static Public Member Functions | |
| static void | Create (const RaytracingSetupSettings &settings) |
| Setup ray tracing context. | |
| static void | Discard () |
| static void | SetupModel (const Graphics::GraphicsEntityId id, CoreGraphics::BlasInstanceFlags flags, uchar mask) |
| Setup a model entity for ray tracing, assumes model context registration. | |
| static void | SetupMesh (const Graphics::GraphicsEntityId id, const UpdateType objectType, const CoreGraphics::VertexComponent::Format format, const CoreGraphics::IndexType::Code indexType, const CoreGraphics::VertexAlloc &vertices, const CoreGraphics::VertexAlloc &indices, const CoreGraphics::PrimitiveGroup &patchPrimGroup, const SizeT vertexOffsetStride, const SizeT patchVertexStride, const Util::Array< Math::mat4 > transforms, const uint materialTableOffset, const MaterialTemplates::MaterialProperties shader, const CoreGraphics::VertexLayoutType vertexLayout) |
| Setup a terrain system for ray tracing. | |
| static void | InvalidateBLAS (const Graphics::GraphicsEntityId id) |
| Invalidate a BLAS (for example, when the mesh has morphed) associated with a graphics entity. | |
| static void | ReconstructTopLevelAcceleration (const Graphics::FrameContext &ctx) |
| Build top level acceleration. | |
| static void | UpdateTransforms (const Graphics::FrameContext &ctx) |
| Update transforms. | |
| static void | WaitForJobs (const Graphics::FrameContext &ctx) |
| Wait for jobs to finish. | |
| static void | UpdateViewResources (const Ptr< Graphics::View > &view, const Graphics::FrameContext &ctx) |
| Update view constants. | |
| static CoreGraphics::ResourceTableId | GetLightGridResourceTable (IndexT bufferIndex) |
| Get light grid resources. | |
| static CoreGraphics::TlasId | GetTLAS () |
| Get TLAS. | |
| static CoreGraphics::BufferId | GetObjectBindingBuffer () |
| Get object binding buffer. | |
| static CoreGraphics::ResourceTableId | GetRaytracingTable (const IndexT bufferIndex) |
| Get raytracing table. | |
| static void | OnRenderDebug (uint32_t flags) |
| debug rendering | |
Private Types | |
| enum | { Raytracing_Allocation , Raytracing_UpdateType , Raytracing_NumStructures , Raytracing_Blases } |
| typedef Ids::IdAllocator< Memory::RangeAllocation, Raytracing::UpdateType, uint, Util::FixedArray< CoreGraphics::BlasId > > | RaytracingAllocator |
Private Member Functions | |
| __DeclareContext () | |
Static Private Member Functions | |
| static Graphics::ContextEntityId | Alloc () |
| allocate a new slice for this context | |
| static void | Dealloc (Graphics::ContextEntityId id) |
| deallocate a slice | |
Static Private Attributes | |
| static RaytracingAllocator | raytracingContextAllocator |
Additional Inherited Members | |
Static Protected Member Functions inherited from Graphics::GraphicsContext | |
| static void | InternalRegisterEntity (const Graphics::GraphicsEntityId id, Graphics::GraphicsContextState &&state) |
| static void | InternalDeregisterEntity (const Graphics::GraphicsEntityId id, Graphics::GraphicsContextState &&state) |
| template<class ID_ALLOCATOR> | |
| static void | InternalDefragment (ID_ALLOCATOR &allocator, Graphics::GraphicsContextState &&state) |
|
private |
|
private |
| Raytracing::RaytracingContext::RaytracingContext | ( | ) |
constructor
| Raytracing::RaytracingContext::~RaytracingContext | ( | ) |
destructor
|
private |
|
inlinestaticprivate |
allocate a new slice for this context
|
static |
Setup ray tracing context.
|
staticprivate |
deallocate a slice
|
static |
|
static |
Get light grid resources.
|
static |
Get object binding buffer.
|
static |
Get raytracing table.
|
static |
Get TLAS.
|
static |
Invalidate a BLAS (for example, when the mesh has morphed) associated with a graphics entity.
|
static |
debug rendering
|
static |
Build top level acceleration.
|
static |
Setup a terrain system for ray tracing.
|
static |
Setup a model entity for ray tracing, assumes model context registration.
|
static |
Update transforms.
|
static |
Update view constants.
|
static |
Wait for jobs to finish.
|
staticprivate |