egutierrez
35312ea66e
feat(viz): graph_force_layout_gpu compute + spatial hash (issue 0049h)
...
Layout force-directed en GPU usando 5 compute shaders 4.3 + spatial hash
grid 64x64. API simetrica con graph_force_layout (CPU) para que el consumer
pueda swappear sin cambios. atomicCompSwap loop para float-add portable.
- cpp/functions/viz/graph_force_layout_gpu.{h,cpp,md}: nuevo modulo
- cpp/functions/gfx/gl_loader: anade glDispatchCompute, glMemoryBarrier,
glBindBufferBase, glGetBufferSubData (Windows wgl)
- cpp/tests/test_graph_force_layout_gpu.cpp: smoke + pinned + CPU vs GPU.
Crea ventana GLFW oculta GL 4.3; SKIP si headless o sin compute.
- demos_graph: checkbox "GPU layout" para swappear CPU/GPU en runtime
- issue movido a dev/issues/completed/
2026-04-29 23:29:16 +02:00
..
2026-04-24 21:31:00 +02:00
2026-04-24 20:59:51 +02:00
2026-04-28 23:44:55 +02:00
2026-04-28 23:38:51 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:40:51 +02:00
2026-04-25 21:52:43 +02:00
2026-04-25 21:52:43 +02:00
2026-04-28 23:40:51 +02:00
2026-04-25 21:52:48 +02:00
2026-04-25 21:52:48 +02:00
2026-04-28 23:40:51 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:40:51 +02:00
2026-04-29 23:29:16 +02:00
2026-04-29 23:29:16 +02:00
2026-04-29 23:29:16 +02:00
2026-04-29 22:44:40 +02:00
2026-04-29 22:17:13 +02:00
2026-04-29 22:44:40 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:01:49 +02:00
2026-04-29 23:12:31 +02:00
2026-04-29 23:12:31 +02:00
2026-04-29 23:12:31 +02:00
2026-04-29 22:44:40 +02:00
2026-04-29 22:44:40 +02:00
2026-04-29 22:44:40 +02:00
2026-04-08 00:10:18 +02:00
2026-04-29 22:44:40 +02:00
2026-04-06 23:46:36 +02:00
2026-04-06 23:46:36 +02:00
2026-04-28 23:40:51 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-04-28 23:40:37 +02:00
2026-04-28 23:38:51 +02:00
2026-04-25 21:14:15 +02:00
2026-04-28 23:42:35 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-04-28 23:40:37 +02:00
2026-04-25 21:51:22 +02:00
2026-04-25 21:51:22 +02:00
2026-04-28 23:40:37 +02:00
2026-04-28 23:38:51 +02:00
2026-04-24 21:31:00 +02:00
2026-04-28 23:44:55 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-04-25 21:52:37 +02:00
2026-04-25 21:52:37 +02:00
2026-04-28 23:40:51 +02:00
2026-04-25 21:48:43 +02:00
2026-04-25 21:48:43 +02:00
2026-04-28 23:40:51 +02:00
2026-04-24 21:31:00 +02:00
2026-04-24 21:31:00 +02:00
2026-04-28 23:40:37 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:44:55 +02:00
2026-04-25 21:48:43 +02:00
2026-04-25 21:48:43 +02:00
2026-04-28 23:40:51 +02:00
2026-04-08 00:10:18 +02:00
2026-04-08 00:10:18 +02:00
2026-04-28 23:44:55 +02:00
2026-04-25 21:52:33 +02:00
2026-04-25 21:52:33 +02:00
2026-04-28 23:40:51 +02:00
2026-04-25 21:52:52 +02:00
2026-04-25 21:52:52 +02:00
2026-04-28 23:40:51 +02:00