summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/3d/visual_debug.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/3d/visual_debug.cc b/src/3d/visual_debug.cc
index 77311f6..cd4ccce 100644
--- a/src/3d/visual_debug.cc
+++ b/src/3d/visual_debug.cc
@@ -26,7 +26,7 @@ void VisualDebug::init(WGPUDevice device, WGPUTextureFormat format) {
WGPUBufferDescriptor ub_desc = {};
ub_desc.usage = WGPUBufferUsage_Uniform | WGPUBufferUsage_CopyDst;
- ub_desc.size = sizeof(mat4);
+ ub_desc.size = sizeof(GlobalUniforms);
uniform_buffer_ = wgpuDeviceCreateBuffer(device_, &ub_desc);
}
@@ -340,9 +340,12 @@ void VisualDebug::add_trajectory(const std::vector<vec3>& points,
}
void VisualDebug::update_buffers(const mat4& view_proj) {
- // Update Uniforms
+ // Update Uniforms - fill entire GlobalUniforms structure
+ GlobalUniforms uniforms = {};
+ uniforms.view_proj = view_proj;
+ // Other fields zeroed (not used by visual debug shader)
wgpuQueueWriteBuffer(wgpuDeviceGetQueue(device_), uniform_buffer_, 0,
- &view_proj, sizeof(mat4));
+ &uniforms, sizeof(GlobalUniforms));
// Update Vertices
size_t required_size = lines_.size() * 2 * sizeof(float) * 6;
@@ -385,7 +388,7 @@ void VisualDebug::update_buffers(const mat4& view_proj) {
WGPUBindGroupEntry bg_entry = {};
bg_entry.binding = 0;
bg_entry.buffer = uniform_buffer_;
- bg_entry.size = sizeof(mat4);
+ bg_entry.size = sizeof(GlobalUniforms);
WGPUBindGroupDescriptor bg_desc = {};
bg_desc.layout = bind_group_layout_;