feat(viz): mesh_viewer — componente 3D con FBO + Lambert headlight

Compila/cachea por id un programa GLSL (vertex+fragment) con
iluminacion Lambert (luz=camara), gestiona Framebuffer cacheado por
id, dibuja MeshGpu con orbit camera, muestra via ImGui::Image y
maneja drag (mouse) + wheel (zoom). Wireframe opcional via
glPolygonMode.

gl_loader: añade glUniformMatrix4fv (proc requerido en Windows para
subir las matrices view/proj del mesh_viewer).

issue 0029
This commit is contained in:
2026-04-25 21:51:22 +02:00
parent 3b662ac4c3
commit 281502ac92
5 changed files with 290 additions and 0 deletions
+2
View File
@@ -37,6 +37,7 @@
extern PFNGLUNIFORM3FPROC fn_glUniform3f;
extern PFNGLUNIFORM4FPROC fn_glUniform4f;
extern PFNGLUNIFORM4FVPROC fn_glUniform4fv;
extern PFNGLUNIFORMMATRIX4FVPROC fn_glUniformMatrix4fv;
extern PFNGLUSEPROGRAMPROC fn_glUseProgram;
// Texture (gl_texture_load — issue 0026)
extern PFNGLACTIVETEXTUREPROC fn_glActiveTexture;
@@ -84,6 +85,7 @@
#define glUniform3f fn_glUniform3f
#define glUniform4f fn_glUniform4f
#define glUniform4fv fn_glUniform4fv
#define glUniformMatrix4fv fn_glUniformMatrix4fv
#define glUseProgram fn_glUseProgram
#define glActiveTexture fn_glActiveTexture
#define glGenerateMipmap fn_glGenerateMipmap