|
Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
|
#include "app.h"#include "app_settings.h"#include "asset_manager.h"#include "billboard_renderer.h"#include "ibl_coordinator.h"#include "icosphere.h"#include "instanced_rendering.h"#include "light_probes.h"#include "log.h"#include "material.h"#include "pbr.h"#include "platform/platform_fs.h"#include "platform/platform_utils.h"#include "render_utils.h"#include "scene.h"#include "scene_config.h"#include "scene_gpu_resources.h"#include "scene_internal.h"#include "scene_shaders.h"#include "scene_simulation.h"#include "scene_uniforms.h"#include "scene_visuals.h"#include "shader.h"#include "skybox.h"#include "utils.h"#include <cglm/affine-pre.h>#include <cglm/mat4.h>#include <cglm/types.h>#include <cglm/vec3.h>#include <stdlib.h>#include <string.h>Data Structures | |
| struct | HdrScanContext |
Macros | |
| #define | MIN(a, b) ((a) < (b) ? (a) : (b)) |
Functions | |
| static int | compare_strings (const void *string_a, const void *string_b) |
| static void | scene_hdr_file_callback (const char *filename, bool is_dir, void *user_data) |
| static void | scene_scan_hdr_files (Scene *scene) |
| void | scene_init_instancing (Scene *scene) |
| Initialize instanced rendering data from the material library. | |
| static void | scene_init_state (Scene *scene) |
| static int | scene_init_core_shaders (Scene *scene) |
| static int | scene_init_billboard_shader (Scene *scene) |
| static int | scene_init_compute_resources (Scene *scene) |
| static int | scene_init_instanced_shader (Scene *scene, Shader **out_shader) |
| int | scene_init (Scene *scene) |
| Initializes the scene resources. | |
| int | scene_subsys_init (App *app) |
| void | scene_subsys_cleanup (App *app) |
| #define MIN | ( | a, | |
| b | |||
| ) | ((a) < (b) ? (a) : (b)) |
|
static |
|
static |
| int scene_init | ( | Scene * | scene | ) |
Initializes the scene resources.
| scene | Pointer to the scene structure. |
|
static |
|
static |
|
static |
| void scene_init_instancing | ( | Scene * | scene | ) |
Initialize instanced rendering data from the material library.
Builds the SphereInstance array, uploads it to VBO, and configures billboard + instanced groups. Also seeds the light probe grid.
Used by scene_init (via scene_init_instanced_shader) and scene_toggle_nbody.
|
static |
|
static |
| void scene_subsys_cleanup | ( | App * | app | ) |
| int scene_subsys_init | ( | App * | app | ) |