diff options
Diffstat (limited to 'assets/final/shaders/mesh_render.wgsl')
| -rw-r--r-- | assets/final/shaders/mesh_render.wgsl | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/assets/final/shaders/mesh_render.wgsl b/assets/final/shaders/mesh_render.wgsl deleted file mode 100644 index 7390b06..0000000 --- a/assets/final/shaders/mesh_render.wgsl +++ /dev/null @@ -1,58 +0,0 @@ -#include "common_uniforms" -#include "math/common_utils" - -@group(0) @binding(0) var<uniform> globals: GlobalUniforms; -@group(0) @binding(1) var<storage, read> object_data: ObjectsBuffer; - -// Binding 2 is reserved for BVH (not used here but matches layout for simplicity) - -@group(0) @binding(3) var noise_tex: texture_2d<f32>; -@group(0) @binding(4) var noise_sampler: sampler; -@group(0) @binding(5) var sky_tex: texture_2d<f32>; - -struct VertexInput { - @location(0) position: vec3<f32>, - @location(1) normal: vec3<f32>, - @location(2) uv: vec2<f32>, -}; - -struct VertexOutput { - @builtin(position) clip_pos: vec4<f32>, - @location(0) world_pos: vec3<f32>, - @location(1) normal: vec3<f32>, - @location(2) uv: vec2<f32>, - @location(3) color: vec4<f32>, - @location(4) @interpolate(flat) instance_index: u32, -}; - -@vertex -fn vs_main(in: VertexInput, @builtin(instance_index) instance_index: u32) -> VertexOutput { - let obj = object_data.objects[instance_index]; - let world_pos = obj.model * vec4<f32>(in.position, 1.0); - - var out: VertexOutput; - out.clip_pos = globals.view_proj * world_pos; - out.world_pos = world_pos.xyz; - - // Transform normal from local to world space - out.normal = transform_normal(obj.inv_model, in.normal); - - out.uv = in.uv; - out.color = obj.color; - out.instance_index = instance_index; - return out; -} - -#include "render/scene_query_mode" -#include "render/shadows" -#include "render/lighting_utils" - -@fragment -fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> { - let light_dir = normalize(vec3<f32>(1.0, 1.0, 1.0)); - - let shadow = calc_shadow(in.world_pos, light_dir, 0.05, 20.0, in.instance_index); - let lit_color = calculate_lighting(in.color.rgb, in.normal, in.world_pos, shadow); - - return vec4<f32>(lit_color, in.color.a); -}
\ No newline at end of file |
