08cc179ca8
Auditoria del issue 0044: 14 archivos .md de cpp/functions/gfx/ con uses_functions actualizado. Resuelve dependencias detectadas via #include: gl_loader (consumido por casi todo el dominio gfx), dag_catalog (consumido por la familia dag_*), fullscreen_quad, gl_framebuffer, gl_shader, mesh_obj_load, uniform_parser y dag_node_previews. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, params, output
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | tested | tests | test_file_path | file_path | params | output | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dag_uniforms | function | cpp | gfx | 1.0.0 | impure | void dag_uniforms_apply(const std::vector<DagStep>& pipeline, unsigned int program) | Sube los params del pipeline al shader activo via glUniform4fv. Construye un float[64] con los params de cada DagStep (hasta 16 pasos) y llama glUniform4fv(u_params, 16, data). |
|
|
|
false | error_go_core |
|
false | cpp/functions/gfx/dag_uniforms.cpp |
|
Efecto lateral: actualiza el uniform u_params[16] en el programa GL activo para el frame actual. |
Notas
El array data[64] se inicializa a 0 antes de copiar, por lo que steps no usados quedan en cero. El caller es responsable de activar el programa antes de llamar.
Cambios 2026-04-25 (Fase 5 + Fase 7 shaders_lab)
- Layout dinámico: el array global pasa de
vec4 u_params[16](4 floats por nodo, fijo) avec4 u_params[64](256 floats). Cada nodo ocupadag_vec4_count(param_count)vec4s consecutivos. El packing usadag_param_layout(pipeline)(declarada endag_compile.h) para obtener el índice base por nodo, idéntico al que usa el compilador. - Reset de
u_preview_target: al final del apply, se haceglUniform1i(u_preview_target, -1)si el uniform existe en el programa. Esto deja la rama de preview desactivada en el render principal del Canvas DAG;dag_previews_renderla activa transitoriamente por nodo y la deja restaurada. - Nuevo
dag_compile_cpp_gfxenuses_functions(consumedag_param_layout).