frame rate independence
[carveJwlIkooP6JGAAIwe30JlM.git] / world_render.h
index 3662bb19f1447f0333ea23e52a1bee56040f7d57..5da3556275f6c1aba1ca4d68c93b5116eae8cd42 100644 (file)
@@ -1,3 +1,7 @@
+/*
+ * Copyright (C) 2021-2022 Mt.ZERO Software, Harry Godden - All Rights Reserved
+ */
+
 #ifndef WORLD_RENDER_H
 #define WORLD_RENDER_H
 
@@ -17,7 +21,21 @@ vg_tex2d tex_graffiti = { .path = "textures/graffitibox.qoi",
 
 static void world_render_init(void)
 {
-   vg_tex2d_init( (vg_tex2d *[]){ &tex_terrain_colours, 
+   vg_info( "Loading default world textures\n" );
+
+   vg_acquire_thread_sync();
+   {
+      vg_tex2d_init( (vg_tex2d *[]){ &tex_terrain_colours, 
+                                     &tex_terrain_noise,
+                                     &tex_alphatest,
+                                     &tex_graffiti }, 4 );
+   }
+   vg_release_thread_sync();
+}
+
+static void world_render_free(void*_)
+{
+   vg_tex2d_free( (vg_tex2d *[]){ &tex_terrain_colours, 
                                   &tex_terrain_noise,
                                   &tex_alphatest,
                                   &tex_graffiti }, 4 );
@@ -165,7 +183,7 @@ static void render_sky(m4x3f camera)
    shader_sky_uMdl(identity_matrix);
    shader_sky_uPv(full);
    shader_sky_uTexGarbage(0);
-   shader_sky_uTime( vg_time );
+   shader_sky_uTime( vg.time );
 
    vg_tex2d_bind( &tex_terrain_noise, 0 );