dim5

module
v0.0.0-...-5ca1889 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2024 License: BSD-2-Clause

README ¶

dim5 - Go 3D Game Engine

dim5 is an OpenGL 3D Game Engine written and for the Go language. The name stands for the fifth dimension, which is after length, height, depth and time, fun 😉.

dim5 is a fork of the G3N game engine. I have forked G3N, because I want to change some of the fundamental concepts. First dim5 should be almost panic free, because I think that in error cases a useful error should be returned, and it should be the up to the programmer to take the right path. So (s)he could gather useful informations for debuging.

While dim5 has already moved a bit from G3N, it is not a dropin replacement.

The API will change in the future.

Directories ¶

Path Synopsis
Package animation
Package animation
Package app implements a cross-platform G3N app.
Package app implements a cross-platform G3N app.
Package audio contains sub packages for binding to external audio libraries and implements a spatial audio player.
Package audio contains sub packages for binding to external audio libraries and implements a spatial audio player.
al
Package al implements the Go bindings of a subset of the functions of the OpenAL C library.
Package al implements the Go bindings of a subset of the functions of the OpenAL C library.
ov
Package ov implements the Go bindings of a subset of the functions of the Ogg Vorbis File C library.
Package ov implements the Go bindings of a subset of the functions of the Ogg Vorbis File C library.
vorbis
Package vorbis implements the Go bindings of a subset (only one function) of the functions of the libvorbis library See API reference at: https://xiph.org/vorbis/doc/libvorbis/reference.html
Package vorbis implements the Go bindings of a subset (only one function) of the functions of the libvorbis library See API reference at: https://xiph.org/vorbis/doc/libvorbis/reference.html
Package camera contains virtual cameras and associated controls.
Package camera contains virtual cameras and associated controls.
Package core implements some basic types used by other packages.
Package core implements some basic types used by other packages.
experimental
collision
Package collision implements collision related algorithms and data structures.
Package collision implements collision related algorithms and data structures.
physics
Package collision implements collision related algorithms and data structures.
Package collision implements collision related algorithms and data structures.
physics/constraint
Package constraint implements physics constraints.
Package constraint implements physics constraints.
physics/equation
Package equation implements SPOOK equations based on the 2007 PhD thesis of Claude Lacoursière titled "Ghosts and Machines: Regularized Variational Methods for Interactive Simulations of Multibodies with Dry Frictional Contacts"
Package equation implements SPOOK equations based on the 2007 PhD thesis of Claude Lacoursière titled "Ghosts and Machines: Regularized Variational Methods for Interactive Simulations of Multibodies with Dry Frictional Contacts"
physics/solver
Package physics implements a basic physics engine.
Package physics implements a basic physics engine.
Package geometry implements several primitive geometry generators.
Package geometry implements several primitive geometry generators.
gls
Package gls implements a loader of OpenGL functions for the platform and a Go binding for selected OpenGL functions.
Package gls implements a loader of OpenGL functions for the platform and a Go binding for selected OpenGL functions.
Package graphic implements scene objects which have a graphic representation.
Package graphic implements scene objects which have a graphic representation.
gui
Package gui implements the GUI infrastructure and several widgets.
Package gui implements the GUI infrastructure and several widgets.
assets
Code generated by go-bindata.
Code generated by go-bindata.
Package light contains common light types which can be add to a 3D scene to illuminate it.
Package light contains common light types which can be add to a 3D scene to illuminate it.
loader
collada
Package collada
Package collada
gltf
Package gltf
Package gltf
obj
Package obj is used to parse the Wavefront OBJ file format (*.obj), including associated materials (*.mtl).
Package obj is used to parse the Wavefront OBJ file format (*.obj), including associated materials (*.mtl).
Package material contains virtual materials which specify the appearance of graphic objects.
Package material contains virtual materials which specify the appearance of graphic objects.
Package math32 implements basic math functions which operate directly on float32 numbers without casting and contains types of common entities used in 3D Graphics such as vectors, matrices, quaternions and others.
Package math32 implements basic math functions which operate directly on float32 numbers without casting and contains types of common entities used in 3D Graphics such as vectors, matrices, quaternions and others.
Package renderer implements the scene renderer.
Package renderer implements the scene renderer.
shaders
Package shaders contains the several shaders used by the engine
Package shaders contains the several shaders used by the engine
Package text implements text font support.
Package text implements text font support.
Package texture contains several types of textures which can be added to materials.
Package texture contains several types of textures which can be added to materials.
tools
dim5shaders
dim5shaders reads shaders files with ".glsl" extensions and generates a Go file containing strings with the content of these files.
dim5shaders reads shaders files with ".glsl" extensions and generates a Go file containing strings with the content of these files.
logger
Package logger implements an hierarchical logger used by other packages.
Package logger implements an hierarchical logger used by other packages.
Package window abstracts a platform-specific window.
Package window abstracts a platform-specific window.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL