Browse Source

Move texture loading to initialization, remove per-frame calls

main
cinnaboot 5 months ago
parent
commit
7fb87d7cb0
  1. 2
      docs/planning/rendering-cleanup-plan.md
  2. 6
      src/renderer.cpp

2
docs/planning/rendering-cleanup-plan.md

@ -17,7 +17,7 @@ The renderer has several inefficiencies:
- Create this plan document in docs/planning/ - Create this plan document in docs/planning/
- **PAUSE** for user review - **PAUSE** for user review
### Step 2: Move Texture Loading to Initialization ### Step 2: Move Texture Loading to Initialization [COMPLETED]
- Modify `init_renderer()` or `setup_camera()` to call `ensure_textures_loaded()` once - Modify `init_renderer()` or `setup_camera()` to call `ensure_textures_loaded()` once
- Remove `ensure_textures_loaded()` calls from: - Remove `ensure_textures_loaded()` calls from:
- `render_spacecraft_screen_space()` (renderer.cpp:385) - `render_spacecraft_screen_space()` (renderer.cpp:385)

6
src/renderer.cpp

@ -179,6 +179,8 @@ void setup_camera(RenderState* render_state) {
for (int i = 0; i < 6; i++) { for (int i = 0; i < 6; i++) {
render_state->maneuver_textures[i] = (Texture2D){0, 0, 0, 0, 0}; render_state->maneuver_textures[i] = (Texture2D){0, 0, 0, 0, 0};
} }
ensure_textures_loaded(render_state);
} }
static bool has_target_changed(RenderState* render_state) { static bool has_target_changed(RenderState* render_state) {
@ -382,8 +384,6 @@ void render_spacecraft_screen_space(Spacecraft* craft, RenderState* render_state
return; return;
} }
ensure_textures_loaded(render_state);
float screen_size = 40.0f; float screen_size = 40.0f;
Color spacecraft_color = { 0, 255, 255, 255 }; Color spacecraft_color = { 0, 255, 255, 255 };
float angle = calculate_spacecraft_angle(craft->local_velocity, render_state->camera); float angle = calculate_spacecraft_angle(craft->local_velocity, render_state->camera);
@ -417,8 +417,6 @@ void render_maneuver_marker_screen_space(Spacecraft* craft, Maneuver* maneuver,
return; return;
} }
ensure_textures_loaded(render_state);
float screen_size = (float)(maneuver->delta_v / 50.0f); float screen_size = (float)(maneuver->delta_v / 50.0f);
if (screen_size < 20.0f) screen_size = 20.0f; if (screen_size < 20.0f) screen_size = 20.0f;
if (screen_size > 60.0f) screen_size = 60.0f; if (screen_size > 60.0f) screen_size = 60.0f;

Loading…
Cancel
Save