40 lines
731 B
GLSL
40 lines
731 B
GLSL
|
|
#if defined(USE_RAYQUERY)
|
|
|
|
layout(set = 1, binding = 0) uniform accelerationStructureEXT acc;
|
|
|
|
#else
|
|
|
|
struct CollisionNode
|
|
{
|
|
vec3 center;
|
|
float padding1;
|
|
vec3 extents;
|
|
float padding2;
|
|
int left;
|
|
int right;
|
|
int element_index;
|
|
int padding3;
|
|
};
|
|
|
|
layout(std430, set = 1, binding = 0) buffer NodeBuffer
|
|
{
|
|
int nodesRoot;
|
|
int nodebufferPadding1;
|
|
int nodebufferPadding2;
|
|
int nodebufferPadding3;
|
|
CollisionNode nodes[];
|
|
};
|
|
|
|
#endif
|
|
|
|
struct SurfaceVertex // Note: this must always match the FFlatVertex struct
|
|
{
|
|
vec3 pos;
|
|
float lindex;
|
|
vec2 uv;
|
|
vec2 luv;
|
|
};
|
|
|
|
layout(std430, set = 1, binding = 1) buffer VertexBuffer { SurfaceVertex vertices[]; };
|
|
layout(std430, set = 1, binding = 2) buffer ElementBuffer { int elements[]; };
|