百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

engine

> 编程语言
开源

Go 3D 游戏引擎 (http://g3n.rocks)

3.1K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Go 3D 游戏引擎 (http://g3n.rocks)

G3N - Go 3D Game Engine

**G3N** (pronounced "gen") is an OpenGL 3D Game Engine written in Go. It can be used to write cross-platform Go applications that show rich and dynamic 3D representations - not just games. A basic integrated GUI framework is provided, and 3D spatial audio is supported through [OpenAL](https://www.openal.org/). ### **To see G3N in action try the [G3N demo](https://github.com/g3n/g3nd) or the [Gokoban](https://github.com/danaugrs/gokoban) award winning game.**

## Highlighted Projects Using G3N * [Gokoban - 3D Puzzle Game (_1st place in the 2017 Gopher Game Jam_)](https://github.com/danaugrs/gokoban) * [go-tsne (_dimensionality reduction particularly well suited for visualizing high-dimensional datasets_)](https://github.com/danaugrs/go-tsne) * [G3N Server-Side Rendering](https://github.com/moethu/webg3n) ## Dependencies **Go 1.8+** is required. The engine also requires the system to have an **OpenGL driver** and a **GCC-compatible C compiler**. On Unix-based systems the engine depends on some C libraries that can be installed using the appropriate distribution package manager. See below for OS specific requirements. ### Ubuntu/Debian-like $ sudo apt-get install xorg-dev libgl1-mesa-dev libopenal1 libopenal-dev libvorbis0a libvorbis-dev libvorbisfile3 ### Fedora $ sudo dnf -y install xorg-x11-proto-devel mesa-libGL mesa-libGL-devel openal-soft openal-soft-devel libvorbis libvorbis-devel glfw-devel libXi-devel libXxf86vm-devel ### CentOS 7 Enable the EPEL repository: $ sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Then install the same packages as for Fedora - remember to use `yum` instead of `dnf` for the package installation command. ### Arch $ sudo pacman -S base-devel xorg-server mesa openal libvorbis ### Void $ sudo xbps-install git xorg-server-devel base-devel libvorbis-devel libvorbis libXxf86vm-devel libXcursor-devel libXrandr-devel libXinerama-devel libopenal libopenal-devel libglvnd-devel ### Windows We tested the Windows build using the [mingw-w64](https://mingw-w64.org) toolchain (you can download [this file](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z) in particular). The necessary [audio DLLs](audio/windows/bin) are supplied and need to be added to your PATH. If you would like to build the DLLs yourself you can find the libraries' source code and build instructions [here](audio/windows). ### macOS Install the development files of OpenAL and Vorbis using [Homebrew](https://brew.sh/): brew install libvorbis openal-soft ## Installation The following set of commands will download and install the engine along with all its Go dependencies: ``` git clone https://github.com/g3n/engine g3n-engine cd g3n-engine go install ./... ``` ## Features * Cross-platform: Windows, Linux, and macOS. (WebAssembly is 90% complete!) * Integrated GUI (graphical user interface) with many widgets * Hierarchical scene graph - nodes can contain other nodes * 3D spatial audio via OpenAL (.wav, .ogg) * Real-time lighting: ambient, directional, point, and spot lights * Physically-based rendering: fresnel reflectance, geometric occlusion, microfacet distribution * Model loaders: glTF (.gltf, .glb), Wavefront OBJ (.obj), and COLLADA (.dae) * Geometry generators: box, sphere, cylinder, torus, etc... * Geometries support morph targets and multimaterials * Support for animated sprites based on sprite sheets * Perspective and orthographic cameras * Text image generation and support for TrueType fonts * Image textures can be loaded from GIF, PNG or JPEG files * Animation framework for position, rotation, and scale of objects * Support for user-created GLSL shaders: vertex, fragment, and geometry shaders * Integrated basic physics engine (experimental/incomplete) * Support for HiDPI displays

## Hello G3N The code below is a basic "hello world" application ([hellog3n](https://github.com/g3n/demos/tree/master/hellog3n)) that shows a blue torus and a button that when clicked makes the torus red: ``` … ```

You can download and install `hellog3n` via: go install github.com/g3n/demos/hellog3n@latest For more complex demos please see the [G3N demo program](https://github.com/g3n/g3nd). ## Documentation The complete engine API reference can be found here: [](https://godoc.org/github.com/g3n/engine). There is also the beginning of a Getting Started Guide, and a newly created list of Guides and Tutorials: * [Getting Started](https://github.com/g3n/engine/wiki/Getting-Started-(WIP)) * [Guides and Tutorials](https://github.com/g3n/engine/wiki/Guides-and-Tutorials) Along with those, a good way to learn how to use the engine is to see the source code of [G3ND - the G3N demo](https://github.com/g3n/g3nd). ## Contributing If you find a bug or create a new feature you are encouraged to send pull requests! ## Community Join our [Discord channel](https://discord.gg/NfaeVr8zDg). It's the best way to have your questions answered quickly by the G3N community. ## Stargazers over time

GitHub Issues· 37 开放

在 GitHub 查看全部
  • #320

    Starting/running an application a second time after the main loop as ended previously

    更新于 2026年5月23日
  • #315

    embed and io/fs API

    更新于 2026年2月14日
  • #296

    Does g3n support gltf2.0?

    更新于 2025年11月27日
  • #281

    MacOS with Retina: UI clickable area is calculated incorrectly

    更新于 2025年9月18日
  • #313

    Cloning of loaded OBJ model fails

    更新于 2025年5月18日
  • #253

    panic: interface conversion: *core.Node is not gui.IPanel: missing method Cullable

    更新于 2025年1月28日
  • #312

    Depth Map rendering

    更新于 2024年12月4日
  • #309

    Does this library not support vertex rendering?

    更新于 2024年8月6日
  • #42

    Android/iOS Support

    mobile更新于 2024年5月18日
  • #289

    How i can made postprocessing?

    更新于 2023年6月3日

核心特点

  • •Gokoban - 3D Puzzle Game (_1st place in the 2017 Gopher Game Jam_)
  • •go-tsne (_dimensionality reduction particularly well suited for visualizing high-dimensional datasets_)
  • •G3N Server-Side Rendering
  • •Cross-platform: Windows, Linux, and macOS. (WebAssembly is 90% complete!)
  • •Integrated GUI (graphical user interface) with many widgets
  • •Hierarchical scene graph - nodes can contain other nodes
  • •3D spatial audio via OpenAL (.wav, .ogg)
  • •Real-time lighting: ambient, directional, point, and spot lights
  • •Physically-based rendering: fresnel reflectance, geometric occlusion, microfacet distribution
  • •Model loaders: glTF (.gltf, .glb), Wavefront OBJ (.obj), and COLLADA (.dae)

> 标签

Go3d-engine3d-game-engine3d-graphics3d-rendering-engine

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言