summaryrefslogtreecommitdiff
path: root/assets/final/shaders/mesh_render.wgsl
diff options
context:
space:
mode:
Diffstat (limited to 'assets/final/shaders/mesh_render.wgsl')
-rw-r--r--assets/final/shaders/mesh_render.wgsl58
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