aboutsummaryrefslogtreecommitdiffstats
path: root/shaders/transmittance_lut.comp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2026-08-18 01:32:30 +0200
committerladevieq <ladevie.quentin@gmail.com>2026-08-18 01:32:30 +0200
commita92179b4cb3f3e2088d3739034ad3848b0d7aa69 (patch)
tree8753c8bc30f342facc6180d64f66a5b5c210d99c /shaders/transmittance_lut.comp
parent6db256b8eb4cc45c5296070ae7353e65398d121d (diff)
Rework feature detection
Change target spriv version to support untyped pointers in shaders
Diffstat (limited to 'shaders/transmittance_lut.comp')
-rw-r--r--shaders/transmittance_lut.comp14
1 files changed, 5 insertions, 9 deletions
diff --git a/shaders/transmittance_lut.comp b/shaders/transmittance_lut.comp
index f932d69..207184c 100644
--- a/shaders/transmittance_lut.comp
+++ b/shaders/transmittance_lut.comp
@@ -8,15 +8,11 @@ layout(descriptor_heap) uniform texture2D textures[];
layout(descriptor_heap, rgba32f) uniform image2D images[];
layout(descriptor_heap) uniform sampler samplers[];
-layout(buffer_reference) readonly buffer draw_params {
+layout(push_constant) uniform buffers {
uint output_image_index;
uint width;
uint height;
uint pad;
-};
-
-layout(push_constant) uniform buffers {
- layout(offset = 16) draw_params draw;
} regs;
vec2 sphere_intersection ( in vec3 orig, in vec3 dir, float radius ) {
@@ -43,7 +39,7 @@ void main() {
const float top_radius = 6420.f;
const float atmosphere_radius = top_radius - ground_radius;
- vec2 uvs = vec2(coords) / vec2(regs.draw.width, regs.draw.height);
+ vec2 uvs = vec2(coords) / vec2(regs.width, regs.height);
float cos_mu = uvs.y * 2.f - 1.f;
float mu = acos(cos_mu);
@@ -73,9 +69,9 @@ void main() {
}
// val.x = t;
- // imageStore(images[nonuniformEXT(regs.draw.output_image_index)], coords, val);
+ // imageStore(images[nonuniformEXT(regs.output_image_index)], coords, val);
// return;
- imageStore(images[nonuniformEXT(regs.draw.output_image_index)], coords, vec4(t, 0.f, 0.f, 1.f));
+ imageStore(images[nonuniformEXT(regs.output_image_index)], coords, vec4(t, 0.f, 0.f, 1.f));
return;
vec3 transmittance = vec3(0.f);
@@ -95,5 +91,5 @@ void main() {
color.xyz = vec3(0.f);
color.x = t;
- imageStore(images[nonuniformEXT(regs.draw.output_image_index)], coords, color);
+ imageStore(images[nonuniformEXT(regs.output_image_index)], coords, color);
}