translate ray tracer code

This commit is contained in:
2025-09-01 13:16:45 -04:00
parent b8037fef61
commit 7d3afc9002
2 changed files with 194 additions and 45 deletions

View File

@@ -15,6 +15,7 @@ use bevy::{
},
renderer::{RenderDevice, RenderQueue},
texture::GpuImage,
view::{ViewUniform, ViewUniforms},
},
};
@@ -85,6 +86,7 @@ impl FromWorld for TracerPipeline {
texture_storage_2d(TextureFormat::Rgba32Float, StorageTextureAccess::ReadOnly),
texture_storage_2d(TextureFormat::Rgba32Float, StorageTextureAccess::WriteOnly),
uniform_buffer::<TracerUniforms>(false),
uniform_buffer::<ViewUniform>(false),
),
),
);
@@ -133,6 +135,7 @@ fn init_pipeline(
texture_storage_2d(TextureFormat::Rgba32Float, StorageTextureAccess::ReadOnly),
texture_storage_2d(TextureFormat::Rgba32Float, StorageTextureAccess::WriteOnly),
uniform_buffer::<TracerUniforms>(false),
uniform_buffer::<ViewUniform>(false),
),
),
);
@@ -175,10 +178,13 @@ fn prepare_bind_groups(
tracer_uniforms: Res<TracerUniforms>,
render_device: Res<RenderDevice>,
queue: Res<RenderQueue>,
view_uniforms: Res<ViewUniforms>,
) {
let view_a = gpu_images.get(&tracer_images.0).unwrap();
let view_b = gpu_images.get(&tracer_images.1).unwrap();
//Todo: Insert View Uniforms
// Uniform buffer is used here to demonstrate how to set up a uniform in a compute shader
// Alternatives such as storage buffers or push constants may be more suitable for your use case
let mut uniform_buffer = UniformBuffer::from(tracer_uniforms.into_inner());