WebGL 3D Mesh
iv.object > iv.mesh
iv.mesh
Constructor
iv.mesh(gl)
Constructor creates new mesh object.
gl | WebGL context. |
Properties
gl | WebGL context |
boxMin | Bounding box, min point |
boxMax | Bounding box, max point |
lineMode | boolean. true for line mesh, false for mesh made from lines |
points | Arrays of points |
faces | Array of triangles |
normals | Array of normals |
uvpoints | Arrays of uv coordinates. #0 channel |
uv2points | Arrays of uv coordinates. #1 channel |
edgeBuffer | Array of edges for wireframe render mode. |
vBuffer | WebGL vertex buffer |
nBuffer | WebGL buffer for per vertex normals |
uvBuffer | WebGL buffer for uv #0 corrdinates |
uv2Buffer | WebGL buffer for uv #1 corrdinates |
cBuffer | WebGL buffer for diffuse per vertex color |
ceBuffer | WebGL buffer for per vertex emissive color |
bnBuffer | WebGL buffer for binormals |
btBuffer | WebGL buffer for tangents |
To be rendered mesh needs at least valid bounding box, point and face buffers. For smooth, shaded appearance normal buffer is required. Source points, normals, triangle indices are required for hit testing only.
Methods
.setPoints(a,keep)
Method sets mesh points and updates WebGL buffer.
a |
Array of points. Points may be in Float32Array or in classic JS array. |
keep | Keep points or not. If true array of points will be keept. If false or undefined, only webgl buffer will be updated. Points are required if hit test will be executed |
.setNormals(a,keep)
Method sets mesh points and updates WebGL buffer.
a |
Array of normals. Points may be in Float32Array or in classic JS array. |
keep | Keep normals or not. If true array of normals will be keept. If false or undefined, only webgl buffer will be updated. |
.setUV(uv,keep)
Method sets mesh UV coordinates and updates WebGL buffer.
uv |
Array of uv points. UV coordinates may be in Float32Array or in classic JS array. |
keep | Keep uv points or not. If true array of uv coordinates will be keept. If false or undefined, only webgl buffer will be updated. |
.setUV2(a,keep)
Method sets mesh points and updates WebGL buffer.
a |
Array of secondary uv points. Points may be in Float32Array or in classic JS array. |
keep | Keep points or not. If true array of points will be keept. If false or undefined, only webgl buffer will be updated. |
.setBuffer(name,b)
Method sets or updates specified mesh buffer.
name |
Prefix of buffer name. For instance: "n", "uv", "uv2". Name of buffer will be name+"Buffer". |
b | WebGL buffer object. |
This method decrements reference count of old buffer and increments for a new one.
.setFaces(a,keep)
Method sets mesh faces and updates webgl buffer.
a |
Array of triangle indices. Indices may be in Uint16Array or in classic JS array. |
keep | Keep faces or not. If true array of faces will be keept. If false or undefined, only webgl buffer will be update. |
.updateEdges()
Used internally for rendering wireframe edges.