Polygon Meshes

All visible game elements in a scene, whether it is a Model or a Shape, are made up of polygon meshes. JME3 has a com.jme3.scene.Mesh class that represents all meshes.

You can use default Shapes as meshes; load 3D models (i.e. meshes created in external applications); or create free-form custom meshes programmatically.

Vertex Buffer

The VertexBuffer contains a particular type of geometry data used by Meshes. Every VertexBuffer set on a Mesh is sent as an attribute to the vertex shader to be processed.

Vertex Buffer TypeDescription
Type.PositionPosition of the vertex (3 floats)
Type.Index Specifies the index buffer, must contain integer data.
Type.TexCoord Texture coordinate
Type.TexCoord2 Texture coordinate #2
Type.Normal Normal vector, normalized.
Type.Tangent Tangent vector, normalized.
Type.Binormal Binormal vector, normalized.
Type.Color Color and Alpha (4 floats)
Type.SizeThe size of the point when using point buffers.
Type.InterleavedData Specifies the source data for various vertex buffers when interleaving is used.
Type.BindPosePosition Inital vertex position, used with animation.
Type.BindPoseNormal Inital vertex normals, used with animation
Type.BoneWeight Bone weights, used with animation
Type.BoneIndex Bone indices, used with animation
Mesh methodDescription
setLineWidth(1)
setPointSize(4.0f)
setBound(boundingVolume)
setStatic()Locks the mesh so you cannot modify it anymore, thus optimizing its data (faster).
setDynamic()Unlocks the mesh so you can modified it, but this will un-optimize the data (slower).
setMode(Mesh.Mode.Points) Used to set mesh modes, see below
getId()
getTriangle(int,tri)
scaleTextureCoordinates(Vector2f)
Mesh ModeDescription
Mesh.Mode.PointsShow only corner points
Mesh.Mode.LinesShow lines
Mesh.Mode.LineLoop?
Mesh.Mode.LineStrip?
Mesh.Mode.Triangles?
Mesh.Mode.TriangleStrip?
Mesh.Mode.TriangleFan?
Mesh.Mode.Hybrid?

view online version