View on GitHub

3DreamEngine

3DreamEngine is an *awesome* 3d engine for LÖVE.

Mesh

Extends Clonable, HasShaders, IsNamed

Constructors

Mesh:newMesh(material)

Creates a new empty mesh

Arguments

material (Material)

Returns

(Mesh)


Methods

Mesh:setMaterial(material)

Sets the meshes material

Arguments

material (Material)


Mesh:getMaterial()

Returns

(Material)


Mesh:setVisible(visibility)

Arguments

visibility (boolean)


Mesh:setRenderVisibility(visibility)

Arguments

visibility (boolean)


Mesh:getRenderVisibility()


Mesh:setShadowVisibility(visibility)

Arguments

visibility (boolean)


Mesh:getShadowVisibility()


Mesh:setSkeleton(skeleton)

Arguments

skeleton (Skeleton)


Mesh:getSkeleton()


Mesh:getPixelShader()


Mesh:getVertexShader()


Mesh:getWorldShader()


Mesh:updateBoundingSphere()

Updates the bounding sphere based on mesh data


Mesh:cleanup()


Mesh:preload(force)

Load textures and similar

Arguments

force (boolean) Bypass threaded loading and immediately load things


Mesh:clearMesh()

Deletes the mesh, will regenerate next time needed


Mesh:getMesh(name)

Get a mesh, load automatically if required

Arguments

name (string) optional, default “mesh”


Mesh:applyTransform(transform)

Apply a transformation matrix to all vertices

Arguments

transform (Mat4)


Mesh:applyBones(skeleton)

Apply joints to mesh data directly

Arguments

skeleton (Skeleton) optional


Mesh:getJointMatrix(skeleton, jointIndex)

Returns the final joint transformation based on vertex weights

Arguments

skeleton (Skeleton)

jointIndex (number)

Returns

(Mat4)


Mesh:recalculateTangents()


Mesh:createVertexMap()


Mesh:getMeshFormat()

Returns the required mesh format set by the current pixel shader

Returns

(MeshFormat)


Mesh:create()

Makes this mesh render-able


Mesh:separate()

Separates by loose parts and returns a list of new meshes

Returns

(Mesh[])


Mesh:setMeshDrawMode(meshDrawMode)

Sets the current meshDrawMode, rarely makes sense to set manually

Arguments

meshDrawMode (MeshDrawMode)


Mesh:getMeshDrawMode()

Gets the current meshDrawMode

Returns

(MeshDrawMode)


Mesh:getOrCreateBuffer(name)

Gets or creates an dynamic, typeless buffer

Arguments

name (string) name of buffer


Clonable:clone()

Slow and deep clone


Clonable:instance()

Creates an fast instance


HasShaders:setPixelShader(shader)

Arguments

shader (Shader)


HasShaders:setVertexShader(shader)

Arguments

shader (Shader)


HasShaders:setWorldShader(shader)

Arguments

shader (Shader)


IsNamed:setName(name)

A name has no influence other than being able to print more nicely

Arguments

name (string)


IsNamed:getName()

Gets the name, or “unnamed”

Returns

(string)