diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gpu/effects/shaders.h | 5 | ||||
| -rw-r--r-- | src/gpu/gpu.cc | 7 | ||||
| -rw-r--r-- | src/tests/test_3d_render.cc | 3 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/gpu/effects/shaders.h b/src/gpu/effects/shaders.h index a23c41c..f8e45ba 100644 --- a/src/gpu/effects/shaders.h +++ b/src/gpu/effects/shaders.h @@ -1,8 +1,11 @@ // This file is part of the 64k demo project. -// It declares the WGSL shader strings. +// It declares the WGSL shader strings and initialization function. #pragma once +// Initializes the ShaderComposer with snippet assets. +void InitShaderComposer(); + // Shader declarations (defined in shaders.cc) extern const char* main_shader_wgsl; extern const char* particle_compute_wgsl; diff --git a/src/gpu/gpu.cc b/src/gpu/gpu.cc index 7406113..8342c94 100644 --- a/src/gpu/gpu.cc +++ b/src/gpu/gpu.cc @@ -6,6 +6,7 @@ #include "demo_effects.h" #include "effect.h" #include "platform.h" +#include "gpu/effects/shaders.h" #include <GLFW/glfw3.h> #include <math.h> @@ -52,8 +53,6 @@ static WGPUSurfaceConfiguration g_config = {}; static MainSequence g_main_sequence; -extern void InitShaderComposer(); - // --- Helper Functions --- GpuBuffer gpu_create_buffer(WGPUDevice device, size_t size, uint32_t usage, @@ -373,11 +372,11 @@ void gpu_init(PlatformState* platform_state) { g_config.alphaMode = WGPUCompositeAlphaMode_Opaque; wgpuSurfaceConfigure(g_surface, &g_config); + InitShaderComposer(); + g_main_sequence.init(g_device, g_queue, g_config.format, platform_state->width, platform_state->height); - InitShaderComposer(); - LoadTimeline(g_main_sequence, g_device, g_queue, g_config.format); } diff --git a/src/tests/test_3d_render.cc b/src/tests/test_3d_render.cc index e1762ed..cc7dce6 100644 --- a/src/tests/test_3d_render.cc +++ b/src/tests/test_3d_render.cc @@ -6,6 +6,7 @@ #include "3d/renderer.h" #include "3d/scene.h" #include "gpu/texture_manager.h" +#include "gpu/effects/shaders.h" #include "platform.h" #include "procedural/generator.h" #include <cmath> @@ -211,6 +212,8 @@ int main(int argc, char** argv) { // The test's own WGPU init sequence init_wgpu(&platform_state); + InitShaderComposer(); + g_renderer.init(g_device, g_queue, g_format); g_renderer.resize(platform_state.width, platform_state.height); |
