20 assert(!
name.empty());
24 if (points.size() > UINT_MAX)
25 SL_EXIT_MSG(
"SLPoints supports max. 2^32 vertices.");
39 assert(!
name.empty());
44 SL_EXIT_MSG(
"SLPoints supports max. 2^32 vertices.");
45 if (points.size() != normals.size())
46 SL_EXIT_MSG(
"SLPoints: different size of points and normals vector.");
61 assert(!
name.empty() &&
"No name provided in SLPoints!");
65 for (
int i = 0; i < (int)nPoints; ++i)
#define SL_EXIT_MSG(message)
vector< SLVec3f > SLVVec3f
Toplevel holder of the assets meshes, materials, textures and shaders.
Defines a standard CG material with textures and a shader program.
An SLMesh object is a triangulated mesh, drawn with one draw call.
SLGLPrimitiveType _primitive
Primitive type (default triangles)
SLVVec3f N
Vector for vertex normals (opt.) layout (location = 1)
SLVVec3f P
Vector for vertex positions layout (location = 0)
const SLstring & name() const
SLPoints(SLAssetManager *assetMgr, const SLVVec3f &points, const SLstring &name="point cloud", SLMaterial *material=nullptr)
Ctor for a given vector of points.
Abstract base class for random 3D point generator.
virtual SLVec3f generate()=0