这个项目能做什么
G3N(发音为“gen”)是一个用 Go 编程语言编写的开源 OpenGL 3D 游戏引擎,旨在构建具有丰富且动态 3D 表示的跨平台 Go 应用。
### 核心特性
- **跨平台支持:** 可在 Windows、Linux 和 macOS 上运行,WebAssembly 支持列为已完成 90%。
- **集成 GUI:** 包含一个带有各种控件的基础 GUI 框架。
- **层级场景图:** 节点可以包含其他节点,以组织 3D 场景。
- **空间音频:** 通过 OpenAL 支持 3D 空间音频,包括 .wav 和 .ogg 格式。
- **光照与渲染:** 提供实时的环境光、方向光、点光和聚光灯,以及基于物理的渲染(菲涅耳反射率、几何遮蔽、微表面分布)。
- **模型与几何体支持:** 包含 glTF(.gltf、.glb)、Wavefront OBJ(.obj)和 COLLADA(.dae)的加载器。它还提供用于盒子、球体、圆柱体和圆环体的几何体生成器,支持变形目标和多材质。
- **动画与着色器:** 具有用于位置、旋转和缩放的动画框架,并支持用户创建的 GLSL 顶点、片段和几何着色器。
- **其他特性:** 支持 HiDPI 显示器、透视和正交相机、TrueType 字体、图像纹理(GIF、PNG、JPEG),并包含一个实验性的基础物理引擎。
### 依赖项与安装
该引擎需要 Go 1.8+、OpenGL 驱动程序和兼容 GCC 的 C 编译器。基于 Unix 的系统需要特定的 C 库(例如 xorg-dev、libgl1-mesa-dev、libopenal-dev 和 libvorbis-dev)。Windows 构建使用 mingw-w64 工具链,而 macOS 需要用于 OpenAL 和 Vorbis 的 Homebrew 包。可以通过克隆仓库并运行 `go install ./...`,使用标准 Go 命令安装该引擎。
### 示例与社区
该仓库包含一个基础的“Hello G3N”示例,展示一个蓝色圆环体和一个可改变其颜色的按钮,演示了相机、灯光和 GUI 集成。该项目通过 GoDoc 提供 API 文档、wiki 指南,以及用于支持和讨论的 Discord 社区频道。
评论
0 评分人数达到10人后显示
登录后参与讨论。