Suckless OGL 1.0.0
A lean, high-performance C11 PBR Renderer
Loading...
Searching...
No Matches
scene_gpu_resources.h
Go to the documentation of this file.
1#ifndef SCENE_GPU_RESOURCES_H
2#define SCENE_GPU_RESOURCES_H
3
12#include "gl_common.h"
13#include "light_probes.h" /* SH_TEXTURE_COUNT */
14
15enum { IBL_TEXTURE_COUNT = 3 };
16
18
23typedef struct SceneGPUResources {
24 /* --- Geometry Buffers --- */
29 GLuint quad_vbo;
32 GLuint empty_vao;
34 /* --- Textures --- */
35 GLuint hdr_texture;
39 GLuint brdf_lut_tex;
44 /* --- Compute Programs --- */
50 /* --- Storage Buffers --- */
51 GLuint lum_ssbo[2];
53 /* --- Billboard UBO --- */
57 /* --- IBL Binding Cache (Tier 5 — units 15-17) --- */
60 /* --- SH/Probe Binding Cache (Tier 3 — units 8-14 + SSBO 3) --- */
64
65#endif /* SCENE_GPU_RESOURCES_H */
Common OpenGL definitions, RAII helpers, and utilities.
@ SH_TEXTURE_COUNT
Definition light_probes.h:14
@ IBL_TEXTURE_COUNT
Definition scene_gpu_resources.h:15
@ TEXTURE_UNIT_IBL_START
Definition scene_gpu_resources.h:17
All GPU resource handles owned by the scene.
Definition scene_gpu_resources.h:23
GLuint icosphere_vbo
Definition scene_gpu_resources.h:26
GLuint lum_pass1_program
Definition scene_gpu_resources.h:47
GLuint brdf_lut_tex
Definition scene_gpu_resources.h:39
GLuint transition_snapshot_tex
Definition scene_gpu_resources.h:42
GLuint quad_vbo
Definition scene_gpu_resources.h:29
GLuint dummy_white_tex
Definition scene_gpu_resources.h:41
GLuint irmap_program
Definition scene_gpu_resources.h:46
GLuint recycled_hdr_tex
Definition scene_gpu_resources.h:36
GLuint wire_cube_vbo
Definition scene_gpu_resources.h:30
GLuint dummy_black_tex
Definition scene_gpu_resources.h:40
GLuint icosphere_ebo
Definition scene_gpu_resources.h:28
GLuint bound_probe_ssbo
Definition scene_gpu_resources.h:62
GLuint billboard_ubo
Definition scene_gpu_resources.h:54
GLuint lum_ssbo[2]
Definition scene_gpu_resources.h:51
GLuint spmap_program
Definition scene_gpu_resources.h:45
GLuint hdr_texture
Definition scene_gpu_resources.h:35
GLuint irradiance_tex
Definition scene_gpu_resources.h:38
void * billboard_ubo_ptr
Definition scene_gpu_resources.h:55
GLuint lum_pass2_program
Definition scene_gpu_resources.h:48
GLuint empty_vao
Definition scene_gpu_resources.h:32
GLuint wire_quad_vbo
Definition scene_gpu_resources.h:31
GLuint bound_sh_textures[SH_TEXTURE_COUNT]
Definition scene_gpu_resources.h:61
GLuint icosphere_vao
Definition scene_gpu_resources.h:25
GLuint bound_ibl_textures[IBL_TEXTURE_COUNT]
Definition scene_gpu_resources.h:58
GLuint spec_prefiltered_tex
Definition scene_gpu_resources.h:37
GLuint icosphere_nbo
Definition scene_gpu_resources.h:27