Fix pixel sizing, buffer binding entry

This commit is contained in:
2025-02-22 11:34:04 -05:00
parent 68843293ff
commit ceb772bbec
4 changed files with 666 additions and 51 deletions

View File

@ -339,7 +339,7 @@ pub fn main_fs(
#[spirv(frag_coord)] frag_coord: Vec4,
#[spirv(storage_buffer, descriptor_set = 0, binding = 0)] viewport_constants: &ViewportConstants,
#[spirv(storage_buffer, descriptor_set = 0, binding = 1)] accum_constants: &AccumConstants,
#[spirv(storage_buffer, descriptor_set = 0, binding = 2)] _accum_image: &mut [Vec4],
#[spirv(storage_buffer, descriptor_set = 0, binding = 3)] accum_image: &mut [Vec4],
output: &mut Vec4,
) {
// Bootleg texture sampling; map from viewport image pixel coordinates to accumulator image
@ -365,29 +365,19 @@ pub fn main_fs(
let offset_x = (v_width * scale - a_width) / 2.0;
let offset_y = (v_height * scale - a_height) / 2.0;
let _accum_coordinate = viewport_coordinate.as_vec2() * scale - vec2(offset_x, offset_y);
let accum_coordinate = viewport_coordinate.as_vec2() * scale - vec2(offset_x, offset_y);
/*
if accum_coordinate.x < 0.0
|| accum_coordinate.x >= ifs_constants.accum_width as f32
|| accum_coordinate.x >= accum_constants.width as f32
|| accum_coordinate.y < 0.0
|| accum_coordinate.y >= ifs_constants.accum_height as f32
|| accum_coordinate.y >= accum_constants.height as f32
{
*output = ifs_constants.background_color;
*output = vec4(0.0, 0.0, 0.0, 1.0);
} else {
*output = accum_image[image_index(
accum_coordinate.x as i32,
accum_coordinate.y as i32,
ifs_constants.accum_width,
accum_constants.width,
) as usize];
}
*/
if viewport_coordinate.x == 0
|| viewport_coordinate.x == viewport_constants.width as u32 - 1
|| viewport_coordinate.y == 0
|| viewport_coordinate.y == viewport_constants.height as u32 - 1
{
*output = glam::Vec4::splat(1.);
}
}