Thanks for the share Andrey! On Thursday, December 18, 2025 at 3:34:33 PM UTC-8 [email protected] wrote:
> Hi gophers! > > I'd like to introduce GoGPU — an ecosystem of Pure Go libraries for GPU > programming. No CGO, no Rust, no C++ — just Go. > > The project started from a Reddit discussion about GUI/graphics support in > Go: > > https://www.reddit.com/r/golang/comments/1pdw9i7/go_deserves_more_support_in_gui_development/ > > And from the realization that fogleman/gg (the beloved 2D graphics > library) has been unmaintained for years: > https://github.com/fogleman/gg/issues/208 > > > WHAT WE'VE BUILT > ---------------- > > gogpu/wgpu — Pure Go WebGPU implementation > Complete WebGPU types, validation layer, and hardware abstraction. Three > backends: Vulkan (cross-platform), OpenGL ES (Windows/Linux), and Software > (full CPU rasterizer for headless/CI). ~55K lines of pure Go. > https://github.com/gogpu/wgpu > > gogpu/naga — Pure Go shader compiler > WGSL to SPIR-V compiler. Supports vertex, fragment, and compute shaders > with atomics and barriers. ~17K lines. > https://github.com/gogpu/naga > > gogpu/gg — Enterprise-grade 2D graphics > Spiritual successor to fogleman/gg with GPU acceleration. Canvas API, text > rendering, images, clipping, 29 blend modes, scene graph, parallel > rendering. ~25K lines. > https://github.com/gogpu/gg > > gogpu/gogpu — High-level graphics framework > Simple API for GPU applications. Dual backend: use wgpu-native FFI for > production or Pure Go for zero-dependency builds. > https://github.com/gogpu/gogpu > > gogpu/ui — GUI widget toolkit (planned) > The end goal — a complete widget toolkit for desktop applications. > Currently in early planning stage. > https://github.com/gogpu/ui > > > THE VISION > ---------- > > We want Go to have first-class graphics support — from low-level GPU > access to high-level GUI widgets. The stack: > > Your App / GUI > ↓ > gogpu/ui (widget toolkit, planned) > ↓ > gogpu/gg (2D graphics) > ↓ > gogpu/gogpu (GPU framework) > ↓ > gogpu/wgpu (WebGPU) + gogpu/naga (shaders) > ↓ > Vulkan / Metal / DX12 / OpenGL > > > USE CASES > --------- > > - Game development (2D games, game engines) > - Data visualization dashboards > - CAD/vector graphics applications > - Server-side image generation (PDF, charts, thumbnails) > - CI/CD testing without GPU hardware > - Desktop applications with custom UI > - Embedded systems with minimal dependencies > > > CURRENT STATUS > -------------- > > Total: ~154K lines of pure Go code across the ecosystem. > > All libraries are functional and tested. The software rasterizer just got > a major update with full triangle rendering, depth/stencil buffers, and > parallel processing. > > We're now working toward a GUI widget toolkit (gogpu/ui). > > > PUBLICATIONS > ------------ > > Dev.to articles about the journey: > - GoGPU Announcement: > https://dev.to/kolkov/gogpu-a-pure-go-graphics-library-for-gpu-programming-2j5d > - 100K Lines in Two Weeks: > https://dev.to/kolkov/gogpu-from-idea-to-100k-lines-in-two-weeks-building-gos-gpu-ecosystem-3b2 > - Naga Shader Compiler: > https://dev.to/kolkov/building-a-shader-compiler-in-pure-go-naga-reaches-v040-39ol > - gg 2D Graphics: > https://dev.to/kolkov/pure-go-2d-graphics-library-with-gpu-acceleration-introducing-gogpugg-538h > > > INTERESTED? > ----------- > > We'd love to hear your thoughts: > - Is this something you'd use? > - What features would be most valuable for your projects? > - Want to contribute? > > GitHub: https://github.com/gogpu > > Thanks for reading! > > -- > Andrey Kolkov -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/golang-nuts/33d22ea1-ab10-4334-8733-c92e3910952dn%40googlegroups.com.
