|
|
39b482b2e0
|
feat(gui): M2 - sokol_gfx GPU backend initialised from wio window
Implements milestone 2 of the wio+sokol_gfx cross-platform GUI renderer:
- build.zig.zon: add wio and sokol-zig as lazy path dependencies
- build.zig: wire -Drenderer=gui - creates modules for gpu, app, and the
stub rasterizer; links sokol_clib against system GL/X11/Xi/Xcursor/ALSA
(requires: libgl-dev libx11-dev libxi-dev libxcursor-dev libasound2-dev)
- src/gui/gpu/builtin.glsl.zig: hand-crafted GLCORE ShaderDesc with a
full-screen-quad vertex stage and a cell-grid fragment stage; Y-flip via
row_count*cell_size_y; FsParams as 4 INT uniforms; RGBA32UI cell texture
and R8 glyph-atlas texture with NONFILTERING samplers
- src/gui/gpu/gpu.zig: sokol_gfx backend mirroring the d3d11 backend;
TRIANGLE_STRIP pipeline, CPU-side glyph atlas shadow, per-frame cell
texture update via sg.updateImage
- src/gui/rasterizer/stub.zig: blank-glyph stub rasterizer for M2 testing
- src/gui/wio/app.zig: wio event loop + thespian bridge; creates a core
OpenGL 3.3 context, calls sg.setup/gpu.init, sends RDR messages for
WindowCreated/Resize/keyboard/mouse events, renders on screen_pending
- src/gui/wio/input.zig: wio Button → Flow codepoint/mouse-button mapping
- src/renderer/gui/renderer.zig: standard renderer interface consumed by
tui.zig; dispatches RDR events, delegates font/cursor/clipboard to app
|
2026-03-29 19:04:52 +02:00 |
|