Files
Seele/res/shaders/terrain/Parameters.slang
T

68 lines
1.8 KiB
Plaintext
Raw Normal View History

2024-10-07 20:14:00 +02:00
import Common;
import Bisector;
struct GeometryCB
{
uint32_t totalNumElements;
uint32_t baseDepth;
uint32_t totalNumVertices;
};
struct DeformationCB
{
float4 patchSize;
float4 patchRoughness;
float choppiness;
int attenuation;
float amplification;
uint32_t patchFlags;
};
struct UpdateCB
{
2024-10-15 21:35:52 +02:00
float4x4 viewProjectionMatrix;
2024-10-07 20:14:00 +02:00
float triangleSize;
uint32_t maxSubdivisionDepth;
float fov;
float farPlaneDistance;
}
2024-10-14 18:14:08 +02:00
struct DebugStruct
{
2024-10-18 19:01:04 +02:00
int maxRequiredMemory;
int usedMemory;
uint memoryChange;
uint twinID;
};
2024-10-14 18:14:08 +02:00
2024-10-07 20:14:00 +02:00
struct ComputeParams
{
ConstantBuffer<GeometryCB> geometry;
ConstantBuffer<UpdateCB> update;
2024-10-15 21:35:52 +02:00
RWStructuredBuffer<float4> currentVertexBuffer;
2024-10-07 20:14:00 +02:00
StructuredBuffer<uint> indexedBisectorBuffer;
RWStructuredBuffer<uint> indirectDrawBuffer;
RWStructuredBuffer<uint64_t> heapIDBuffer;
RWStructuredBuffer<BisectorData> bisectorDataBuffer;
RWStructuredBuffer<uint> classificationBuffer;
RWStructuredBuffer<int> allocateBuffer;
RWStructuredBuffer<uint> indirectDispatchBuffer;
2024-10-15 21:35:52 +02:00
RWStructuredBuffer<uint4> neighboursBuffer;
RWStructuredBuffer<uint4> neighboursOutputBuffer;
2024-10-07 20:14:00 +02:00
RWStructuredBuffer<int> memoryBuffer;
RWStructuredBuffer<uint> cbtBuffer;
RWStructuredBuffer<uint64_t> bitFieldBuffer;
RWStructuredBuffer<int> propagateBuffer;
RWStructuredBuffer<uint> simplifyBuffer;
RWStructuredBuffer<uint> validationBuffer;
RWStructuredBuffer<uint> bisectorIndicesBuffer;
RWStructuredBuffer<uint> visibleBisectorIndices;
RWStructuredBuffer<uint> modifiedBisectorIndices;
2024-10-15 21:35:52 +02:00
RWStructuredBuffer<float4> lebPositionBuffer;
2024-10-07 20:14:00 +02:00
StructuredBuffer<float3x3> lebMatrixCache;
2024-10-18 19:01:04 +02:00
globallycoherent RWStructuredBuffer<DebugStruct> debugBuffer;
2024-10-07 20:14:00 +02:00
};
ParameterBlock<ComputeParams> pParams;