feat(render): add meshlet rendering and ECS query ref API
Introduces meshlet-based rendering pipeline with new HLSL structures and push constant layouts. Refactors meshlet upload/cooking, updates RenderGraphContext for global/view/instance data, and enhances ECS QueryBuilder with ref returns and [UnscopedRef] for fluent chaining. Improves resource management and disposal patterns, updates D3D12 interop for compatibility, and refines test/app infrastructure. Includes dependency updates, bug fixes, and code cleanups.
This commit is contained in:
@@ -5,11 +5,20 @@
|
||||
|
||||
struct PushConstantData
|
||||
{
|
||||
BYTE_ADDRESS_BUFFER globalBuffer;
|
||||
BYTE_ADDRESS_BUFFER perViewBuffer;
|
||||
BYTE_ADDRESS_BUFFER perObjectBuffer;
|
||||
BYTE_ADDRESS_BUFFER perInstanceBuffer;
|
||||
BYTE_ADDRESS_BUFFER perMaterialBuffer;
|
||||
uint globalIndex;
|
||||
uint viewIndex;
|
||||
uint objectIndex;
|
||||
uint instanceIndex;
|
||||
uint materialIndex;
|
||||
};
|
||||
|
||||
struct GlobalFrameData
|
||||
{
|
||||
uint viewBufferIndex;
|
||||
uint instanceBufferIndex;
|
||||
uint viewBufferCount;
|
||||
uint instanceBufferCount;
|
||||
uint userBufferIndex;
|
||||
};
|
||||
|
||||
struct PerViewData
|
||||
@@ -23,6 +32,11 @@ struct PerViewData
|
||||
float4 screenSize; // xy: size, zw: 1/size
|
||||
};
|
||||
|
||||
struct PerInstanceData
|
||||
{
|
||||
float4x4 localToWorld;
|
||||
};
|
||||
|
||||
struct PerObjectData
|
||||
{
|
||||
float3 worldBoundsMin;
|
||||
|
||||
Reference in New Issue
Block a user