38 lines
1.6 KiB
Plaintext
38 lines
1.6 KiB
Plaintext
#version 460 core
|
|
#extension GL_GOOGLE_include_directive : require
|
|
#extension GL_EXT_shader_16bit_storage : require
|
|
#extension GL_EXT_ray_query: require
|
|
|
|
#define GLSL
|
|
#include "ray_interop.h"
|
|
#undef GLSL
|
|
|
|
layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
|
|
|
|
layout(set = 0, binding = 1) uniform accelerationStructureEXT tlas;
|
|
layout(set = 0, binding = 2) uniform UBO { UniformBuffer ubo; } ubo;
|
|
|
|
layout(set = 0, binding = 6) uniform sampler2D textures[MAX_TEXTURES];
|
|
|
|
layout (set = 0, binding = 7) readonly buffer SBOLights { LightsMetadata m; } lights;
|
|
layout (set = 0, binding = 8, align = 1) readonly buffer UBOLightClusters {
|
|
LightCluster clusters_[MAX_LIGHT_CLUSTERS];
|
|
} light_grid;
|
|
|
|
layout(set = 0, binding = 10, rgba32f) uniform readonly image2D position_t;
|
|
layout(set = 0, binding = 11, rgba16f) uniform readonly image2D normals_gs;
|
|
layout(set = 0, binding = 12, rgba8) uniform readonly image2D material_rmxx;
|
|
layout(set = 0, binding = 13, rgba8) uniform readonly image2D base_color_a;
|
|
|
|
layout(set = 0, binding = 20, rgba16f) uniform writeonly image2D out_light_point_diffuse;
|
|
layout(set = 0, binding = 21, rgba16f) uniform writeonly image2D out_light_point_specular;
|
|
|
|
layout(set = 0, binding = 30, std430) readonly buffer ModelHeaders { ModelHeader a[]; } model_headers;
|
|
layout(set = 0, binding = 31, std430) readonly buffer Kusochki { Kusok a[]; } kusochki;
|
|
layout(set = 0, binding = 32, std430) readonly buffer Indices { uint16_t a[]; } indices;
|
|
layout(set = 0, binding = 33, std430) readonly buffer Vertices { Vertex a[]; } vertices;
|
|
|
|
#define RAY_QUERY
|
|
#define LIGHT_POINT 1
|
|
#include "ray_light_direct.glsl"
|