Foundation
Loading...
Searching...
No Matches
Classes | Variables
GPUScene.hpp File Reference
#include <Core/Allocator.hpp>
#include <Core/AllocatorStack.hpp>
#include <Core/JobSystem.hpp>
#include <Core/Logging.hpp>
#include <RenderCore/Bindless.hpp>
#include <RenderCore/ImmediateContext.hpp>
#include <cstddef>
#include "Curve.hpp"
#include "Mesh.hpp"
#include "Precompute.hpp"
#include "Shaders/Flags.h"
#include "Texture.hpp"

Go to the source code of this file.

Classes

struct  GSOffsetCount
 
struct  GeometryHandle
 
struct  TextureHandle
 
struct  GSInstance
 
struct  GSMaterial
 
struct  GSLight
 
struct  GSEmissiveCluster
 
struct  GSCurveSet
 
struct  GPUSceneDesc
 
class  GPUScene
 
struct  GPUScene::UpdateResult
 
struct  GPUScene::UpdateResult::LightBVH
 
struct  GPUScene::GPUSceneTables
 
struct  GPUScene::MemoryStat
 

Variables

constexpr uint32_t kRectLightSBTOffset = 3u
 
constexpr uint32_t kDiskLightSBTOffset = 4u
 
constexpr uint32_t kCurveSBTOffset = 5u
 
constexpr uint32_t kSphereLightSBTOffset = 6u
 
constexpr uint32_t kGSInstanceTypeMesh = 0u
 
constexpr uint32_t kGSInstanceTypeCurve = 1u
 
constexpr uint32_t kGSInstanceTypeMask = 0xFFu
 
constexpr uint32_t kGSLightTypeMask = 0xFFu
 
constexpr uint32_t kGSLightTypeEnvironment = 0u
 
constexpr uint32_t kGSLightTypeDirectional = 1u
 
constexpr uint32_t kGSLightTypePoint = 2u
 
constexpr uint32_t kGSLightTypeSpot = 3u
 
constexpr uint32_t kGSLightTypeDisk = 4u
 
constexpr uint32_t kGSLightTypeRect = 5u
 
constexpr uint32_t kLightSelectionClusterBit = 1u << 31u
 
constexpr uint32_t kLightSelectionIndexMask = ~kLightSelectionClusterBit
 
 Mesh
 

Variable Documentation

◆ kCurveSBTOffset

constexpr uint32_t kCurveSBTOffset = 5u
inlineconstexpr

◆ kDiskLightSBTOffset

constexpr uint32_t kDiskLightSBTOffset = 4u
inlineconstexpr

◆ kGSInstanceTypeCurve

constexpr uint32_t kGSInstanceTypeCurve = 1u
inlineconstexpr

◆ kGSInstanceTypeMask

constexpr uint32_t kGSInstanceTypeMask = 0xFFu
inlineconstexpr

◆ kGSInstanceTypeMesh

constexpr uint32_t kGSInstanceTypeMesh = 0u
inlineconstexpr

◆ kGSLightTypeDirectional

constexpr uint32_t kGSLightTypeDirectional = 1u
inlineconstexpr

◆ kGSLightTypeDisk

constexpr uint32_t kGSLightTypeDisk = 4u
inlineconstexpr

◆ kGSLightTypeEnvironment

constexpr uint32_t kGSLightTypeEnvironment = 0u
inlineconstexpr

◆ kGSLightTypeMask

constexpr uint32_t kGSLightTypeMask = 0xFFu
inlineconstexpr

◆ kGSLightTypePoint

constexpr uint32_t kGSLightTypePoint = 2u
inlineconstexpr

◆ kGSLightTypeRect

constexpr uint32_t kGSLightTypeRect = 5u
inlineconstexpr

◆ kGSLightTypeSpot

constexpr uint32_t kGSLightTypeSpot = 3u
inlineconstexpr

◆ kLightSelectionClusterBit

constexpr uint32_t kLightSelectionClusterBit = 1u << 31u
inlineconstexpr

◆ kLightSelectionIndexMask

constexpr uint32_t kLightSelectionIndexMask = ~kLightSelectionClusterBit
inlineconstexpr

◆ kRectLightSBTOffset

constexpr uint32_t kRectLightSBTOffset = 3u
inlineconstexpr

◆ kSphereLightSBTOffset

constexpr uint32_t kSphereLightSBTOffset = 6u
inlineconstexpr

◆ Mesh

Mesh
Initial value:
= 1 << 0
struct GSMesh
{
GSOffsetCount vertices;
GSOffsetCount indices;
GSOffsetCount groups;
GSOffsetCount meshlets;
uint32_t meshletVtxOffset;
uint32_t meshletTriOffset;
uint32_t meshletGlobalIndex;
GSOffsetCount emissiveMeshlets;
GSOffsetCount emissiveAliases;
GSOffsetCount emissivePrimitiveMap;
}
Definition GPUScene.hpp:40