Content
Most functions are annotated using EmmyLua doc.
Usage
-
Introduction Main components and design choices of the engine. You should read that.
-
Meshes A list of all meshes, and their use cases. Those include particles, sprites, text and instancing.
-
Skeletons Skeletal Animations
-
Shaders More advanced shader modifications, from wind shader to skeletal animations
-
Performance Tips and tricks to double the FPS!
Documentation
Objects
General classes.
- BoundingSphere
- Buffer
- Camera
- Canvases
- GlyphAtlas
- Light
- Material
- MeshFormat
- Object
- Position
- Reflection
- Shader
- Shadow
Meshes
Different drawable meshes.
Animations
Classes required to animated skeletons.
Extensions
Classes intended to be used by certain extensions.
Extensions
-
Sky Dynamic Sky
-
Raytrace Fast ray-mesh intersection extension, designed for object selection, bullet calculations, …
-
Physics Y-axis extension to Box2D. Works fine on primitives, not recommended for complex shapes.
-
Sounds 3D sound + sound resource manager. WIP.
Libraries
There are a few libraries included you can use. Check their files for supported functions
- Vec2, vec3, vec4 with common functions and metatables (
dream.vecn
) - Mat2, mat3, mat4 (
dream.matn
) - Quaternions (
dream.quat
) - A XML parser by Paul Chakravarti (
dream.xml2lua
anddream.xmlTreeHandler
) - A JSON parser by rxi (
dream.json
) - Utils.lua which expands luas table, string and math libraries by common functions (
dream.utils
) - Inspect by Enrique García Cota (
dream.inspect
)