Files
fn_registry/cpp/functions/gfx/sokol_setup.md
T

44 lines
1.5 KiB
Markdown

---
name: sokol_setup
kind: function
lang: cpp
domain: gfx
version: "0.1.0"
purity: pure
signature: "make_environment() -> sg_environment; make_swapchain(int w, int h) -> sg_swapchain"
description: "Builders puros para inicializar sokol_gfx encima de un GL context creado por SDL3 (no por sokol_app). Construye sg_environment con defaults RGBA8 + depth/stencil y sg_swapchain con el default framebuffer del contexto activo. Issue 0072b — base del runtime gamedev en PC + WASM."
tags: [gamedev, sokol, gfx, sdl3, wasm]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
example: |
// tras SDL_GL_CreateContext():
sg_desc d{};
d.environment = fn::gfx::make_environment();
d.logger.func = slog_func;
sg_setup(&d);
// por frame:
sg_pass p{};
p.swapchain = fn::gfx::make_swapchain(w, h);
sg_begin_pass(&p);
tested: false
tests: []
test_file_path: ""
file_path: "cpp/functions/gfx/sokol_setup.cpp"
params:
- name: width
desc: "Ancho del framebuffer en pixeles. Usar SDL_GetWindowSizeInPixels."
- name: height
desc: "Alto del framebuffer en pixeles."
output: "Estructuras sg_environment / sg_swapchain listas para sokol_gfx."
---
# sokol_setup
Helpers minimos para usar `sokol_gfx` con SDL3 sin depender de `sokol_glue.h` (que importa simbolos de `sokol_app` y rompe en stacks SDL3-driven).
Definidos como funciones puras: solo construyen structs, no tocan estado global. Llamadas tipicas en `engine_smoke` (issue 0072a) y `runtime_test` (0072b).