Hi! https://github.com/gogpu - The GoGPU ecosystem has reached a certain level of maturity; now we need people to debug the code, resolve bottlenecks, and report compilation and runtime errors. Everything is working at a basic level now, but there are still some issues regarding performance. On Saturday, 31 January 2026 at 00:17:29 UTC+3 Michael Oguidan wrote:
> It's very cool, tkx for sharing > > On Friday, January 30, 2026 at 5:04:11 AM UTC [email protected] wrote: > >> >> >> https://dev.to/kolkov/gogpu-unified-2d3d-graphics-integration-in-pure-go-djf >> On Thursday, 22 January 2026 at 23:21:41 UTC+3 David Nia wrote: >> >>> This code draws a triangle in a window using gogpu: >>> >>> app := gogpu.NewApp(gogpu.DefaultConfig(). >>> WithTitle("GoGPU - Triangle Example"). >>> WithSize(800, 600)) >>> >>> app.OnDraw(func(dc *gogpu.Context) { >>> dc.DrawTriangleColor(gmath.DarkGray) >>> }) >>> >>> app.Run() >>> >>> >>> This code draws a circle using gg: >>> >>> ctx := gg.NewContext(500, 500) >>> ctx.ClearWithColor(gg.White) >>> >>> ctx.SetRGB(1, 0, 0) >>> ctx.DrawCircle(170, 170, 150) >>> ctx.Fill() >>> >>> How do I combine these libraries to be able to draw a circle in a window >>> ? >>> I do not see where the libraries communicate with each other. >>> >>> Thanks >>> >>> >>> 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/dce6b0d0-0025-420f-b4d2-290b953a0fd7n%40googlegroups.com.
