Could you please guys tell me what **p5.Geometry** is doing ? I searched the GitHub and References but doesn’t understand.

Can someone please post an example on Geometry.

Please explain to me what it does please…

p5.Geometry is used to represent 3d objects. It is returned by the `loadModel()`

function, and also used internally by the 3d primitive drawing functions. 3d objects are commonly described as a list of vertices, a list of vertex normals, a list of triangles which reference the vertexes, and a list of texture coordinates for each vertex. Vertex normals are a vector describing the direction of the surface of the object at that point which is used to affect how light will illuminate a surface based on the angle of the light relative to the angle of the surface.

The most common use case for p5.Geometry is via the loadModel() function, but it is possible to create your own custom 3d objects via the callback that can be passed to the p5.Geometry constructor. In this callback you need to populate: the `vertices`

array with vectors representing the corners of all the triangles, the `faces`

array with arrays of indices for the corners of each triangle, and if you want to apply a texture, the `uvs`

array with arrays containing the X and Y position in texture space for each vertex (order and length should be the same as the `vertices`

array). I have an example in a glitch project (see /haumana/kumu-paul/sprite-voxel.js), but it’s pretty complicated (here’s the running version).

Thank You very much, it’s very helpful, and I understand the purpose of the P5.Geometry a bit. It should be in p5 reference.