Implemented screenspace particles.

This commit is contained in:
Justin Marshall
2026-05-24 13:04:31 -07:00
parent ac9c10cc92
commit 56bb2f004f
10 changed files with 712 additions and 20 deletions
+11
View File
@@ -1748,6 +1748,15 @@ typedef struct glScreenSpaceDecal_s
float pad1[2];
} glScreenSpaceDecal_t;
typedef struct glScreenSpaceParticleVertex_s
{
float clip[4];
float st[2];
float color[4];
float world[3];
float pad0;
} glScreenSpaceParticleVertex_t;
int glRaytracingInit(void);
void glRaytracingShutdown(void);
void glRaytracingClear(void);
@@ -1843,6 +1852,8 @@ uint32_t glRaytracingLightingGetLightCount(void);
void glLightScene(glRaytracingSceneHandle_t sceneHandle);
void glSetScreenSpaceDecalsQD3D12(const glScreenSpaceDecal_t* decals, uint32_t decalCount);
void glDrawScreenSpaceDecalsQD3D12(void);
void glSetScreenSpaceParticleLightsQD3D12(const glRaytracingLight_t* lights, uint32_t lightCount);
void glDrawScreenSpaceParticlesQD3D12(const glScreenSpaceParticleVertex_t* verts, uint32_t vertexCount, uint32_t textureId, uint32_t blendMode, float softDepth);
ID3D12Device* QD3D12_GetDevice(void);
ID3D12CommandQueue* QD3D12_GetQueue(void);