examples/gg_integration - and this new example for gg integration.
Example: gg + gogpu integration via ggcanvas.
This example demonstrates rendering 2D graphics with gg directly into a
gogpu window using the ggcanvas integration package.
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/87c16e56-585c-48c3-abd8-091852ee4759n%40googlegroups.com.