Files
fn_registry/cpp/functions/gfx/fullscreen_quad.md
T
egutierrez 37ca9562c3 chore(registry): añadir uses_functions a consumidores reales (gfx)
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>
2026-04-28 23:40:31 +02:00

1.3 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, framework, 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 framework params output
fullscreen_quad function cpp gfx 1.0.0 impure void quad_init(Quad& q); void quad_draw(const Quad& q); void quad_destroy(Quad& q) VAO/VBO para un fullscreen quad de 6 vértices. El vertex shader genera las posiciones via gl_VertexID, por lo que el VBO queda vacío. quad_draw emite glDrawArrays(GL_TRIANGLES, 0, 6).
opengl
quad
fullscreen
vao
vbo
gfx
gl_loader_cpp_gfx
false error_go_core
GL/gl.h
GL/glext.h
false
cpp/functions/gfx/fullscreen_quad.cpp opengl
name desc
q Struct Quad con campos vao, vbo (GL ids). Inicializar a {0} antes de quad_init.
Modifica q in-place. quad_draw necesita un programa GL activo con vertex shader que genere posiciones desde gl_VertexID.

fullscreen_quad

VAO + VBO vacío para dibujar un quad de pantalla completa. El vertex shader de gl_shader ya embebe las 6 posiciones via gl_VertexID, por lo que no se necesitan datos en el VBO.

Ejemplo

fn::gfx::Quad quad{};
fn::gfx::quad_init(quad);

// En el render loop (con program activo):
glUseProgram(program);
fn::gfx::quad_draw(quad);
glUseProgram(0);

// Al destruir:
fn::gfx::quad_destroy(quad);