Difference between revisions of "Mesh"

From GiderosMobile
Line 3: Line 3:
 
'''Available since:''' Gideros 2012.09<br/>
 
'''Available since:''' Gideros 2012.09<br/>
 
=== Description ===
 
=== Description ===
<br />
+
<translate><br />
 
Mesh class is used to create and display custom constructed set of triangles (triangle meshes). It basically consists of<br />
 
Mesh class is used to create and display custom constructed set of triangles (triangle meshes). It basically consists of<br />
 
4 arrays: vertex, index, color (optional), textureCoordinate (optional) and a texture (optional) and it provides more than<br />
 
4 arrays: vertex, index, color (optional), textureCoordinate (optional) and a texture (optional) and it provides more than<br />
Line 11: Line 11:
 
<br />
 
<br />
 
<ul><br />
 
<ul><br />
<li>`Note 1:` Mesh class doesn't do bounds check. If an element at index array points to an non-existent vertex, the application may crash.</li><br />
+
<li>[[[Note 1:]]] Mesh class doesn't do bounds check. If an element at index array points to an non-existent vertex, the application may crash.</li><br />
 
</ul><br />
 
</ul><br />
<br />
+
<br /></translate>
 
=== Examples ===
 
=== Examples ===
 
'''Mesh usage'''<br/>
 
'''Mesh usage'''<br/>

Revision as of 13:38, 23 August 2018

Supported platforms: android, ios, mac, pc
Available since: Gideros 2012.09

Description


Mesh class is used to create and display custom constructed set of triangles (triangle meshes). It basically consists of
4 arrays: vertex, index, color (optional), textureCoordinate (optional) and a texture (optional) and it provides more than
one way to set/modify these arrays.

Mesh can be 2D or 3D, the latter expects an additionnal Z coordinate in its vertices. Additionnally, 3D meshes and their children are rendered with depth testing enabled, which prevents far objects to be drawn above nearest ones, irrespective of actual drawing order.


  • [[[Note 1:]]] Mesh class doesn't do bounds check. If an element at index array points to an non-existent vertex, the application may crash.



Examples

Mesh usage

local mesh = Mesh.new()
stage:addChild(mesh)
-- 1. vertex (0, 0)
-- 2. vertex (100, 0)
-- 3. vertex (100, 150)
-- 4. vertex (0, 150)
mesh:setVertexArray(0, 0,   100, 0,   100, 150,   0, 150)

-- 1. triangle from 1, 2 and 3 vertex
-- 2. triangle from 1, 3 and 4 vertex
mesh:setIndexArray(1, 2, 3,     1, 3, 4)

-- 1. vertex 0xff0000 color with 0.5 alpha
-- 2. vertex 0x00ff00 color with 0.7 alpha
-- 3. vertex 0x0000ff color with 1 alpha
-- 4. vertex 0xffff00 color with 0 alpha
mesh:setColorArray(0xff0000, 0.5, 0x00ff00, 0.7, 0x0000ff, 1.0, 0xffff00, 0)

Methods

Mesh.new -
Mesh:clearColorArray -
Mesh:clearIndexArray -
Mesh:clearTexture -
Mesh:clearTextureCoordinateArray -
Mesh:clearVertexArray -
Mesh:getColor - Returns color and alpha of the i-th element from color array
Mesh:getColorArraySize - Get size of the Color array
Mesh:getIndex - Returns the i-th element from index array
Mesh:getIndexArraySize - Get size of the Index array
Mesh:getTextureCoordinate - Returns u and v coordinate of the i-th element from texture coordinate array
Mesh:getTextureCoordinateArraySize - Get size of the Texture Coordinate array
Mesh:getVertex - Returns x and y coordinate of the i-th element from vertex array
Mesh:getVertexArraySize - Get size of the Vertices array
Mesh:resizeColorArray -
Mesh:resizeIndexArray -
Mesh:resizeTextureCoordinateArray -
Mesh:resizeVertexArray -
Mesh:setColor -
Mesh:setColorArray -
Mesh:setColors -
Mesh:setGenericArray -
Mesh:setIndex -
Mesh:setIndexArray -
Mesh:setIndices -
Mesh:setTexture -
Mesh:setTextureCoordinate -
Mesh:setTextureCoordinateArray -
Mesh:setTextureCoordinates -
Mesh:setVertex -
Mesh:setVertexArray -
Mesh:setVertices -

Events

Constants