This commit is contained in:
mcrcortex
2024-04-13 11:22:14 +10:00
parent 382ca59423
commit 2b77800ed9
6 changed files with 29 additions and 16 deletions

View File

@@ -1,3 +1,16 @@
struct Frustum {
vec4 planes[6];
};
layout(binding = 0, std140) uniform SceneUniform {
mat4 MVP;
ivec3 baseSectionPos;
int sectionCount;
Frustum frustum;
vec3 cameraSubPos;
uint frameId;
};
struct BlockModel {
uint faceData[6];
uint flagsA;
@@ -30,8 +43,8 @@ layout(binding = 0) uniform sampler2D blockModelAtlas;
#ifndef Quad
#define Quad ivec2
#endif
layout(binding = 1, std430) readonly restrict buffer QuadBuffer {
Quad quadData[];
layout(binding = 1, std430) readonly restrict buffer GeometryBuffer {
Quad geometryPool[];
};
layout(binding = 2, std430) restrict buffer DrawBuffer {

View File

@@ -1,4 +1,6 @@
#version 450
#extension GL_ARB_gpu_shader_int64 : enable
#define MESHLET_ACCESS writeonly
#import <voxy:lod/quad_format.glsl>
#import <voxy:lod/gl46mesh/bindings.glsl>

View File

@@ -1,4 +1,6 @@
#version 450
#extension GL_ARB_gpu_shader_int64 : enable
#define MESHLET_ACCESS readonly
#define QUADS_PER_MESHLET 126
//There are 16 bytes of metadata at the start of the meshlet
@@ -6,8 +8,9 @@
#import <voxy:lod/quad_format.glsl>
#import <voxy:lod/gl46mesh/bindings.glsl>
#import <voxy:lod/section.glsl>
#define GEOMETRY_FMT Quad
uvec2 meshletPosition;
GEOMETRY_FMT meshletPosition;
Quad quad;
bool setupMeshlet() {
gl_CullDistance[0] = 1;