3D graphics library

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • go-bgfx

    bgfx for Go

  • I'm looking for something that's relatively low-level (not a game engine) but preferably abstracts some of the boilerplate away and is cross-platform. Something like go-bgfx would have been perfect for me, but it has been long abandoned. The only real remaining option appears to be the glfw-bindings go-gl/glfw. Otherwise, I could make use of cgo to wrap some c/c++ code myself. I'm somewhat hesitant to go with glfw, because openGL isn't supported on all platforms (but realistically, I'm not going to publish anything that needs to go on mobile), and doesn't support raytracing, which I eventually want to mess around with too.

  • glfw

    Go bindings for GLFW 3 (by go-gl)

  • I'm looking for something that's relatively low-level (not a game engine) but preferably abstracts some of the boilerplate away and is cross-platform. Something like go-bgfx would have been perfect for me, but it has been long abandoned. The only real remaining option appears to be the glfw-bindings go-gl/glfw. Otherwise, I could make use of cgo to wrap some c/c++ code myself. I'm somewhat hesitant to go with glfw, because openGL isn't supported on all platforms (but realistically, I'm not going to publish anything that needs to go on mobile), and doesn't support raytracing, which I eventually want to mess around with too.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • go-sdl2

    SDL2 binding for Go

  • Fair enough! There are Go bindings for sdl here, and bindings for RayLib here. Beyond that, everything go game-related that I know of is a game engine.

  • raylib-go

    Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming.

  • Fair enough! There are Go bindings for sdl here, and bindings for RayLib here. Beyond that, everything go game-related that I know of is a game engine.

  • vulkan

    Vulkan API bindings for Go programming language (by vulkan-go)

  • You might want to try vulkan-go: https://github.com/vulkan-go/vulkan

  • Vulkan

    Examples and demos for the new Vulkan API

  • Thanks. I'll have a look at it. I've heard that working with unabstracted vulkan is really hard though (>1000 lines of code to render a single triangle). That seems pretty daunting. I think I'll just try glfw and see where I get with that.

  • go-webgpu

    Go bindings for WebGPU, a safe & cross-platform GPU abstraction

  • You can check out go-webgpu.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • go-webgpu-examples

  • If you decide to go with it and want to learn it I would recommend you to refer https://sotrh.github.io/learn-wgpu/ and refer to Go code for the tutorials here https://github.com/rajveermalviya/go-webgpu-examples/tree/main/learn-wgpu/beginner (WIP, I am in the process of making complete doc)

  • learn-wgpu

    Guide for using gfx-rs's wgpu library.

  • If you decide to go with it and want to learn it I would recommend you to refer https://sotrh.github.io/learn-wgpu/ and refer to Go code for the tutorials here https://github.com/rajveermalviya/go-webgpu-examples/tree/main/learn-wgpu/beginner (WIP, I am in the process of making complete doc)

  • fauxgl

    Software-only 3D renderer written in Go.

  • there's https://github.com/fogleman/fauxgl, it's pretty fast, although it hasn't been updated in two years or so.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts