fix light position offset

This commit is contained in:
Lauri Räsänen 2023-04-15 19:52:58 +03:00
parent 7830d735b8
commit 7c6062dced
3 changed files with 3 additions and 7 deletions

View file

@ -15,16 +15,13 @@ Controls:
## Features
- Physically based shading
- (F: Fresnel-Schlick approximation)
- (G: Smith's Schlick-GGX)
- (D: Trowbridge-Reitz GGX)
- PBS
- glTF models
- 1 realtime pointlight
- Simple wgsl preprocessor for includes
- Runs on WASM and native desktop
- Tested on:
- `Manjaro Linux 22.0.1 (6.1.7-1-MANJARO)`
- `Ubuntu 22.04 (Mesa 23.1.0-devel)`
- `Windows 10 Pro 21H2`
- `Firefox 109.0`
- `Chrome 109.0.5414.120`

View file

@ -100,7 +100,7 @@ fn fs_main(vert: VertexOutput) -> @location(0) vec4<f32> {
var in_light = 0.0;
for (var i: i32 = 0; i < 6; i++) {
in_light = sample_direct_light(i, light.matrices[i] * vert.world_position);
in_light = sample_direct_light(i, light.matrices[i] * (vert.world_position - vec4<f32>(light.position, 0.0)));
if (in_light > 0.0) {
break;
}

View file

@ -561,7 +561,6 @@ impl State {
light_depth_render_pass.set_vertex_buffer(1, self.instance_buffer.slice(..));
light_depth_render_pass.set_pipeline(&self.light_depth_pass.pipeline);
// TODO separate func
light_depth_render_pass.draw_model_instanced(
&self.model,
0..self.instances.len() as u32,