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.

Reply via email to