mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-19 12:14:35 +02:00
dmap now contains path tracing optimizations stored in iceproc files.
This commit is contained in:
@@ -1656,6 +1656,12 @@ typedef uint32_t glRaytracingInstanceHandle_t;
|
||||
|
||||
static const uint32_t GL_RAYTRACING_MAX_LIGHTS = 256;
|
||||
|
||||
static const uint32_t GL_RAYTRACING_PROC_SURFACE_EMISSIVE = 0x00000001u;
|
||||
static const uint32_t GL_RAYTRACING_PROC_SURFACE_UNLIT = 0x00000002u;
|
||||
static const uint32_t GL_RAYTRACING_PROC_SURFACE_SKY = 0x00000004u;
|
||||
static const uint32_t GL_RAYTRACING_PROC_SURFACE_ALPHA_TESTED = 0x00000008u;
|
||||
static const uint32_t GL_RAYTRACING_PROC_SURFACE_TWO_SIDED = 0x00000010u;
|
||||
|
||||
typedef struct glRaytracingVec3_s
|
||||
{
|
||||
float x, y, z;
|
||||
@@ -1732,6 +1738,33 @@ typedef struct glRaytracingLightingPassDesc_s
|
||||
uint32_t height;
|
||||
} glRaytracingLightingPassDesc_t;
|
||||
|
||||
typedef struct glRaytracingProfileCounters_s
|
||||
{
|
||||
uint32_t frameCounter;
|
||||
uint32_t width;
|
||||
uint32_t height;
|
||||
uint32_t lightCount;
|
||||
uint32_t pointLightCount;
|
||||
uint32_t spotLightCount;
|
||||
uint32_t rectLightCount;
|
||||
uint32_t shadowCastingLightCount;
|
||||
uint32_t volumetricLightCount;
|
||||
uint32_t samplesPerPixel;
|
||||
uint32_t maxBounces;
|
||||
uint32_t enableSpecular;
|
||||
uint32_t enableDenoiser;
|
||||
uint32_t meshCount;
|
||||
uint32_t instanceCount;
|
||||
uint32_t directLightSamplesPerPixel;
|
||||
uint32_t directShadowRaysPerPixel;
|
||||
uint32_t indirectBounceRaysPerPixel;
|
||||
uint32_t indirectLightEvalsPerPixel;
|
||||
uint32_t finalGatherRaysPerPixel;
|
||||
uint32_t reflectionRaysPerPixel;
|
||||
uint32_t volumetricShadowRaysPerPixel;
|
||||
float gpuMsec;
|
||||
} glRaytracingProfileCounters_t;
|
||||
|
||||
typedef struct glScreenSpaceDecal_s
|
||||
{
|
||||
glRaytracingVec3_t origin;
|
||||
@@ -1848,6 +1881,7 @@ glRaytracingLight_t glRaytracingLightingMakeRectLight(
|
||||
uint32_t twoSided);
|
||||
|
||||
uint32_t glRaytracingLightingGetLightCount(void);
|
||||
bool glRaytracingLightingGetProfileCounters(glRaytracingProfileCounters_t* counters);
|
||||
|
||||
void glLightScene(glRaytracingSceneHandle_t sceneHandle);
|
||||
void glSetScreenSpaceDecalsQD3D12(const glScreenSpaceDecal_t* decals, uint32_t decalCount);
|
||||
@@ -2274,6 +2308,7 @@ void glUpdateTopLevelAceelStructure(
|
||||
void glRaytracingLightingSetExternalDenoiser(int enable);
|
||||
void glRaytracingLightingUseExternalDenoiser(int enable);
|
||||
void glRaytracingLightingSetPathTracingOptions(uint32_t samplesPerPixel, uint32_t maxBounces, int enableDenoiser, float denoiseStrength);
|
||||
void glRaytracingLightingSetSecondaryLightBudget(int budget, float compensation);
|
||||
void QD3D12_SetPathTracingQuality(uint32_t samplesPerPixel, uint32_t maxBounces);
|
||||
void QD3D12_SetPathTracingFallbackSamples(uint32_t samplesPerPixel);
|
||||
|
||||
@@ -2310,6 +2345,7 @@ extern "C" {
|
||||
void glRaytracingSetMeshMaterialFlags(glRaytracingMeshHandle_t meshHandle, uint32_t materialFlags);
|
||||
void glRaytracingSetMeshGlass(glRaytracingMeshHandle_t meshHandle, int isGlass);
|
||||
void glRaytracingSetMeshAverageColor(glRaytracingMeshHandle_t meshHandle, float r, float g, float b, float a);
|
||||
void glRaytracingSetMeshProcMetadata(glRaytracingMeshHandle_t meshHandle, uint32_t procFlags, float emissiveR, float emissiveG, float emissiveB, float emissivePower);
|
||||
|
||||
// For callers that create raytracing instances directly instead of using the
|
||||
// shim's glUpdateTopLevelAceelStructure() helper. Glass meshes must also use
|
||||
|
||||
Reference in New Issue
Block a user