summaryrefslogtreecommitdiffstats
path: root/assets/shaders/tacmap/orbit.wgsl
diff options
context:
space:
mode:
Diffstat (limited to 'assets/shaders/tacmap/orbit.wgsl')
-rw-r--r--assets/shaders/tacmap/orbit.wgsl10
1 files changed, 4 insertions, 6 deletions
diff --git a/assets/shaders/tacmap/orbit.wgsl b/assets/shaders/tacmap/orbit.wgsl
index 901200f..a890fd8 100644
--- a/assets/shaders/tacmap/orbit.wgsl
+++ b/assets/shaders/tacmap/orbit.wgsl
@@ -11,7 +11,8 @@ struct VertexOutput {
struct CameraUniform {
view: mat4x4<f32>,
proj: mat4x4<f32>,
- pos: vec3<f32>,
+ abs_pos: vec3<f32>,
+ rel_pos: vec3<f32>,
scale: f32
};
@@ -37,13 +38,10 @@ fn vs_main(
origins[model.origin][1],
origins[model.origin][2]);
- let model_pos = ((origin - camera.pos) + model.position) * camera.scale;
- let origin_pos = (origin - camera.pos) * camera.scale;
+ let model_pos = ((origin - camera.abs_pos - camera.rel_pos) + model.position) * camera.scale;
+ let origin_pos = (origin - camera.abs_pos - camera.rel_pos) * camera.scale;
let view = camera.view;
- let camera_right = vec3<f32>(view[0][0], view[1][0], view[2][0]);
- let camera_up = vec3<f32>(view[0][1], view[1][1], view[2][1]);
- let camera_forward = vec3<f32>(view[0][2], view[1][2], view[2][2]);
let orbit_normal = normalize(model.position);
var normal = orbit_normal;