17 #ifndef VAOPRIMITIVES_H_ 18 #define VAOPRIMITIVES_H_ 27 #include <unordered_map> 78 void createSphere(
const std::string &_name,
Real _radius,
int _precision ) noexcept;
86 void createLineGrid(
const std::string &_name,
Real _width,
Real _depth,
int _steps ) noexcept;
97 void createCylinder(
const std::string &_name,
const Real _radius,
Real _height,
unsigned int _slices,
unsigned int _stacks) noexcept;
106 void createCone(
const std::string &_name,
Real _base,
Real _height,
unsigned int _slices,
unsigned int _stacks ) noexcept;
113 void createDisk(
const std::string &_name,
Real _radius,
unsigned int _slices ) noexcept;
123 void createTorus(
const std::string &_name,
Real _minorRadius,
Real _majorRadius,
unsigned int _nSides,
unsigned int _nRings,
bool _flipTX=
false ) noexcept;
135 void createTrianglePlane( const
std::
string &_name,const
Real _width,const
Real _depth,const
int _wP, const
int _dP,const
Vec3 &_vN ) noexcept;
145 void createCapsule(const
std::
string &_name,const
Real _radius=1.0
f, const
Real _height=2.0f, const
int _precision=20) noexcept;
153 void loadBinary( const
std::
string &_name, const
std::
string &_fName,const
GLenum _type ) noexcept;
158 void clear() noexcept;
183 void createVAOFromHeader(
const std::string &_name,
Real const *_data,
unsigned int _Size ) noexcept;
189 void createDefaultVAOs() noexcept;
197 void createVAO(
const std::string &_name,
const std::vector <vertData> &_data,
const GLenum _mode ) noexcept;
204 void fghCircleTable(std::unique_ptr<
Real[]> &io_sint, std::unique_ptr<
Real[]> &io_cost,
int _n ) noexcept;
main definition of types and namespace
simple Vec3 encapsulates a 3 float object like glsl vec3 but not maths use the Vec3 class for maths a...
implementation files for RibExport class
PRECISION Real
create a variable called Real which is the main data type we use (GLfloat for most cases) ...
base class for all VAO from the VAOFactory this defines the base class type with simple draw / bind b...
a simple 3 tuple container for compatibility with glsl
VAO based object primitives used for fast openGL drawing this is a singelton class so we use the inst...
a simple singleton template inherited by other classes
GLsizei const GLchar *const * string
Singleton template added to NGL framework 20/04/10 by jmacey.