Difference between revisions of "Mesh"

From GiderosMobile
Line 39: Line 39:
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 
=== <translate>Methods</translate> ===
 
=== <translate>Methods</translate> ===
[[Special:MyLanguage/Mesh.new|Mesh.new]] <br/><!-- GIDEROSMTD:Mesh.new -->
+
[[Special:MyLanguage/Mesh.new|Mesh.new]] <br/><!-- GIDEROSMTD:Mesh.new(is3d)  -->
[[Special:MyLanguage/Mesh:clearColorArray|Mesh:clearColorArray]] <br/><!-- GIDEROSMTD:Mesh:clearColorArray -->
+
[[Special:MyLanguage/Mesh:clearColorArray|Mesh:clearColorArray]] <br/><!-- GIDEROSMTD:Mesh:clearColorArray()  -->
[[Special:MyLanguage/Mesh:clearIndexArray|Mesh:clearIndexArray]] <br/><!-- GIDEROSMTD:Mesh:clearIndexArray -->
+
[[Special:MyLanguage/Mesh:clearIndexArray|Mesh:clearIndexArray]] <br/><!-- GIDEROSMTD:Mesh:clearIndexArray()  -->
[[Special:MyLanguage/Mesh:clearTexture|Mesh:clearTexture]] <br/><!-- GIDEROSMTD:Mesh:clearTexture -->
+
[[Special:MyLanguage/Mesh:clearTexture|Mesh:clearTexture]] <br/><!-- GIDEROSMTD:Mesh:clearTexture(slot)  -->
[[Special:MyLanguage/Mesh:clearTextureCoordinateArray|Mesh:clearTextureCoordinateArray]] <br/><!-- GIDEROSMTD:Mesh:clearTextureCoordinateArray -->
+
[[Special:MyLanguage/Mesh:clearTextureCoordinateArray|Mesh:clearTextureCoordinateArray]] <br/><!-- GIDEROSMTD:Mesh:clearTextureCoordinateArray()  -->
[[Special:MyLanguage/Mesh:clearVertexArray|Mesh:clearVertexArray]] <br/><!-- GIDEROSMTD:Mesh:clearVertexArray -->
+
[[Special:MyLanguage/Mesh:clearVertexArray|Mesh:clearVertexArray]] <br/><!-- GIDEROSMTD:Mesh:clearVertexArray()  -->
[[Special:MyLanguage/Mesh:getColor|Mesh:getColor]] ''<translate>Returns color and alpha of the i-th element from color array</translate>''<br/><!-- GIDEROSMTD:Mesh:getColor -->
+
[[Special:MyLanguage/Mesh:getColor|Mesh:getColor]] ''<translate>Returns color and alpha of the i-th element from color array</translate>''<br/><!-- GIDEROSMTD:Mesh:getColor(i) Returns color and alpha of the i-th element from color array -->
[[Special:MyLanguage/Mesh:getColorArraySize|Mesh:getColorArraySize]] ''<translate>Get size of the Color array</translate>''<br/><!-- GIDEROSMTD:Mesh:getColorArraySize -->
+
[[Special:MyLanguage/Mesh:getColorArraySize|Mesh:getColorArraySize]] ''<translate>Get size of the Color array</translate>''<br/><!-- GIDEROSMTD:Mesh:getColorArraySize() Get size of the Color array -->
[[Special:MyLanguage/Mesh:getIndex|Mesh:getIndex]] ''<translate>Returns the i-th element from index array</translate>''<br/><!-- GIDEROSMTD:Mesh:getIndex -->
+
[[Special:MyLanguage/Mesh:getIndex|Mesh:getIndex]] ''<translate>Returns the i-th element from index array</translate>''<br/><!-- GIDEROSMTD:Mesh:getIndex(i) Returns the i-th element from index array -->
[[Special:MyLanguage/Mesh:getIndexArraySize|Mesh:getIndexArraySize]] ''<translate>Get size of the Index array</translate>''<br/><!-- GIDEROSMTD:Mesh:getIndexArraySize -->
+
[[Special:MyLanguage/Mesh:getIndexArraySize|Mesh:getIndexArraySize]] ''<translate>Get size of the Index array</translate>''<br/><!-- GIDEROSMTD:Mesh:getIndexArraySize() Get size of the Index array -->
[[Special:MyLanguage/Mesh:getTextureCoordinate|Mesh:getTextureCoordinate]] ''<translate>Returns u and v coordinate of the i-th element from texture coordinate array</translate>''<br/><!-- GIDEROSMTD:Mesh:getTextureCoordinate -->
+
[[Special:MyLanguage/Mesh:getTextureCoordinate|Mesh:getTextureCoordinate]] ''<translate>Returns u and v coordinate of the i-th element from texture coordinate array</translate>''<br/><!-- GIDEROSMTD:Mesh:getTextureCoordinate(i) Returns u and v coordinate of the i-th element from texture coordinate array -->
[[Special:MyLanguage/Mesh:getTextureCoordinateArraySize|Mesh:getTextureCoordinateArraySize]] ''<translate>Get size of the Texture Coordinate array</translate>''<br/><!-- GIDEROSMTD:Mesh:getTextureCoordinateArraySize -->
+
[[Special:MyLanguage/Mesh:getTextureCoordinateArraySize|Mesh:getTextureCoordinateArraySize]] ''<translate>Get size of the Texture Coordinate array</translate>''<br/><!-- GIDEROSMTD:Mesh:getTextureCoordinateArraySize() Get size of the Texture Coordinate array -->
[[Special:MyLanguage/Mesh:getVertex|Mesh:getVertex]] ''<translate>Returns x and y coordinate of the i-th element from vertex array</translate>''<br/><!-- GIDEROSMTD:Mesh:getVertex -->
+
[[Special:MyLanguage/Mesh:getVertex|Mesh:getVertex]] ''<translate>Returns x and y coordinate of the i-th element from vertex array</translate>''<br/><!-- GIDEROSMTD:Mesh:getVertex(i) Returns x and y coordinate of the i-th element from vertex array -->
[[Special:MyLanguage/Mesh:getVertexArraySize|Mesh:getVertexArraySize]] ''<translate>Get size of the Vertices array</translate>''<br/><!-- GIDEROSMTD:Mesh:getVertexArraySize -->
+
[[Special:MyLanguage/Mesh:getVertexArraySize|Mesh:getVertexArraySize]] ''<translate>Get size of the Vertices array</translate>''<br/><!-- GIDEROSMTD:Mesh:getVertexArraySize() Get size of the Vertices array -->
[[Special:MyLanguage/Mesh:resizeColorArray|Mesh:resizeColorArray]] <br/><!-- GIDEROSMTD:Mesh:resizeColorArray -->
+
[[Special:MyLanguage/Mesh:resizeColorArray|Mesh:resizeColorArray]] <br/><!-- GIDEROSMTD:Mesh:resizeColorArray(size)  -->
[[Special:MyLanguage/Mesh:resizeIndexArray|Mesh:resizeIndexArray]] <br/><!-- GIDEROSMTD:Mesh:resizeIndexArray -->
+
[[Special:MyLanguage/Mesh:resizeIndexArray|Mesh:resizeIndexArray]] <br/><!-- GIDEROSMTD:Mesh:resizeIndexArray(size)  -->
[[Special:MyLanguage/Mesh:resizeTextureCoordinateArray|Mesh:resizeTextureCoordinateArray]] <br/><!-- GIDEROSMTD:Mesh:resizeTextureCoordinateArray -->
+
[[Special:MyLanguage/Mesh:resizeTextureCoordinateArray|Mesh:resizeTextureCoordinateArray]] <br/><!-- GIDEROSMTD:Mesh:resizeTextureCoordinateArray(size)  -->
[[Special:MyLanguage/Mesh:resizeVertexArray|Mesh:resizeVertexArray]] <br/><!-- GIDEROSMTD:Mesh:resizeVertexArray -->
+
[[Special:MyLanguage/Mesh:resizeVertexArray|Mesh:resizeVertexArray]] <br/><!-- GIDEROSMTD:Mesh:resizeVertexArray(size)  -->
[[Special:MyLanguage/Mesh:setColor|Mesh:setColor]] <br/><!-- GIDEROSMTD:Mesh:setColor -->
+
[[Special:MyLanguage/Mesh:setColor|Mesh:setColor]] <br/><!-- GIDEROSMTD:Mesh:setColor(i,color,alpha)  -->
[[Special:MyLanguage/Mesh:setColorArray|Mesh:setColorArray]] <br/><!-- GIDEROSMTD:Mesh:setColorArray -->
+
[[Special:MyLanguage/Mesh:setColorArray|Mesh:setColorArray]] <br/><!-- GIDEROSMTD:Mesh:setColorArray(colors)  -->
[[Special:MyLanguage/Mesh:setColors|Mesh:setColors]] <br/><!-- GIDEROSMTD:Mesh:setColors -->
+
[[Special:MyLanguage/Mesh:setColors|Mesh:setColors]] <br/><!-- GIDEROSMTD:Mesh:setColors(colors)  -->
[[Special:MyLanguage/Mesh:setGenericArray|Mesh:setGenericArray]] <br/><!-- GIDEROSMTD:Mesh:setGenericArray -->
+
[[Special:MyLanguage/Mesh:setGenericArray|Mesh:setGenericArray]] <br/><!-- GIDEROSMTD:Mesh:setGenericArray(index,type,mult,count,data)  -->
[[Special:MyLanguage/Mesh:setIndex|Mesh:setIndex]] <br/><!-- GIDEROSMTD:Mesh:setIndex -->
+
[[Special:MyLanguage/Mesh:setIndex|Mesh:setIndex]] <br/><!-- GIDEROSMTD:Mesh:setIndex(i,index)  -->
[[Special:MyLanguage/Mesh:setIndexArray|Mesh:setIndexArray]] <br/><!-- GIDEROSMTD:Mesh:setIndexArray -->
+
[[Special:MyLanguage/Mesh:setIndexArray|Mesh:setIndexArray]] <br/><!-- GIDEROSMTD:Mesh:setIndexArray(indices)  -->
[[Special:MyLanguage/Mesh:setIndices|Mesh:setIndices]] <br/><!-- GIDEROSMTD:Mesh:setIndices -->
+
[[Special:MyLanguage/Mesh:setIndices|Mesh:setIndices]] <br/><!-- GIDEROSMTD:Mesh:setIndices(indices)  -->
[[Special:MyLanguage/Mesh:setTexture|Mesh:setTexture]] <br/><!-- GIDEROSMTD:Mesh:setTexture -->
+
[[Special:MyLanguage/Mesh:setTexture|Mesh:setTexture]] <br/><!-- GIDEROSMTD:Mesh:setTexture(texture,slot)  -->
[[Special:MyLanguage/Mesh:setTextureCoordinate|Mesh:setTextureCoordinate]] <br/><!-- GIDEROSMTD:Mesh:setTextureCoordinate -->
+
[[Special:MyLanguage/Mesh:setTextureCoordinate|Mesh:setTextureCoordinate]] <br/><!-- GIDEROSMTD:Mesh:setTextureCoordinate(i,u,v)  -->
[[Special:MyLanguage/Mesh:setTextureCoordinateArray|Mesh:setTextureCoordinateArray]] <br/><!-- GIDEROSMTD:Mesh:setTextureCoordinateArray -->
+
[[Special:MyLanguage/Mesh:setTextureCoordinateArray|Mesh:setTextureCoordinateArray]] <br/><!-- GIDEROSMTD:Mesh:setTextureCoordinateArray(textureCoordinates)  -->
[[Special:MyLanguage/Mesh:setTextureCoordinates|Mesh:setTextureCoordinates]] <br/><!-- GIDEROSMTD:Mesh:setTextureCoordinates -->
+
[[Special:MyLanguage/Mesh:setTextureCoordinates|Mesh:setTextureCoordinates]] <br/><!-- GIDEROSMTD:Mesh:setTextureCoordinates(textureCoordinates)  -->
[[Special:MyLanguage/Mesh:setVertex|Mesh:setVertex]] <br/><!-- GIDEROSMTD:Mesh:setVertex -->
+
[[Special:MyLanguage/Mesh:setVertex|Mesh:setVertex]] <br/><!-- GIDEROSMTD:Mesh:setVertex(i,x,y)  -->
[[Special:MyLanguage/Mesh:setVertexArray|Mesh:setVertexArray]] <br/><!-- GIDEROSMTD:Mesh:setVertexArray -->
+
[[Special:MyLanguage/Mesh:setVertexArray|Mesh:setVertexArray]] <br/><!-- GIDEROSMTD:Mesh:setVertexArray(vertices)  -->
[[Special:MyLanguage/Mesh:setVertices|Mesh:setVertices]] <br/><!-- GIDEROSMTD:Mesh:setVertices -->
+
[[Special:MyLanguage/Mesh:setVertices|Mesh:setVertices]] <br/><!-- GIDEROSMTD:Mesh:setVertices(vertices)  -->
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 
=== <translate>Events</translate> ===
 
=== <translate>Events</translate> ===
 
=== <translate>Constants</translate> ===
 
=== <translate>Constants</translate> ===
 
|}
 
|}

Revision as of 15:31, 13 September 2018


Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2012.09
Inherits from: Sprite

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