Go to the source code of this file.
Classes | |
struct | cinder::gl::SaveTextureBindState |
Convenience class designed to push and pop the currently bound texture for a given texture unit. More... | |
struct | cinder::gl::SaveTextureEnabledState |
Convenience class designed to push and pop the enabled/disabled state of a given texture unit. More... | |
struct | cinder::gl::SaveColorState |
Convenience class designed to push and pop the current color. More... | |
Namespaces | |
namespace | cinder |
namespace | cinder::gl |
Functions | |
void | cinder::gl::clear (const ColorA &color=ColorA::black(), bool clearDepthBuffer=true) |
Clears the OpenGL color buffer using color and optionally clears the depth buffer when clearDepthBuffer. | |
void | cinder::gl::setMatrices (const Camera &cam) |
Sets the MODELVIEW and PROJECTION matrices to reflect the values of cam. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::setModelView (const Camera &cam) |
Sets the MODELVIEW matrix to reflect the values of cam. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::setProjection (const Camera &cam) |
Sets the PROJECTION matrix to reflect the values of cam. Leaves the MatrixMode as PROJECTION . | |
void | cinder::gl::pushModelView () |
Pushes the MODELVIEW matrix onto its stack, preserving the current values. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::popModelView () |
Pops the MODELVIEW matrix off of its stack, restoring the values saved with the previous push. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::pushModelView (const Camera &cam) |
Pushes the MODELVIEW matrix onto its stack, preserving the current values, and then sets the matrix to reflect cam. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::pushProjection (const Camera &cam) |
Pushes the PROJECTION matrix onto its stack, preserving the current values, and then sets the matrix to reflect cam. Leaves the MatrixMode as PROJECTION . | |
void | cinder::gl::pushMatrices () |
Pushes the MODELVIEW and PROJECTION matrices onto their stacks, preserving the current values. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::popMatrices () |
Pops the MODELVIEW and PROJECTION matrices off their stacks, restoring the values saved with the previous push. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::multModelView (const Matrix44f &mtx) |
Multiplies the current MODELVIEW matrix with mtx. Leaves the MatrixMode as MODELVIEW . | |
void | cinder::gl::multProjection (const Matrix44f &mtx) |
Multiplies the current PROJECTION matrix with mtx. Leaves the MatrixMode as MODELVIEW . | |
Matrix44f | cinder::gl::getModelView () |
Returns the value of the current MODELVIEW matrix as a Matrix44f. | |
Matrix44f | cinder::gl::getProjection () |
Returns the value of the current PROJECTION matrix as a Matrix44f. | |
void | cinder::gl::setMatricesWindowPersp (int screenWidth, int screenHeight, float fovDegrees=60.0f, float nearPlane=1.0f, float farPlane=1000.0f) |
Sets the viepwort and MODELVIEW and PROJECTION matrices to be a perspective projection with the upper-left corner at [0,0] and the lower-right at [screenWidth,screenHeight]. | |
void | cinder::gl::setMatricesWindowPersp (const Vec2i &screenSize, float fovDegrees=60.0f, float nearPlane=1.0f, float farPlane=1000.0f) |
Sets the viewport and MODELVIEW and PROJECTION matrices to be a perspective projection with the upper-left corner at [0,0] and the lower-right at [screenWidth,screenHeight]. | |
void | cinder::gl::setMatricesWindow (int screenWidth, int screenHeight, bool originUpperLeft=true) |
Sets the viewport and MODELVIEW and PROJECTION matrices to orthographic with the upper-left corner at [0,0] and the lower-right at [screenWidth,screenHeight] if originUpperLeft is true . Otherwise the origin is in the lower right. | |
void | cinder::gl::setMatricesWindow (const Vec2i &screenSize, bool originUpperLeft=true) |
Sets the viewport and the MODELVIEW and PROJECTION matrices to orthographic with the upper-left corner at [0,0] and the lower-right at [size.x,size.y] if originUpperLeft is true . Otherwise the origin is in the lower right. | |
Area | cinder::gl::getViewport () |
Returns the current OpenGL Viewport as an Area. | |
void | cinder::gl::setViewport (const Area &area) |
Sets the current OpenGL Viewport to area. | |
void | cinder::gl::translate (const Vec2f &pos) |
Produces a translation by pos in the current matrix. | |
void | cinder::gl::translate (const Vec3f &pos) |
Produces a translation by pos in the current matrix. | |
void | cinder::gl::scale (const Vec3f &scale) |
Produces a scale by pos in the current matrix. | |
void | cinder::gl::rotate (const Vec3f &xyz) |
Produces a rotation around the X-axis by xyz.x degrees, the Y-axis by xyz.y degrees and the Z-axis by xyz.z degrees in the current matrix. Processed in X-Y-Z order. | |
void | cinder::gl::rotate (const Quatf &quat) |
Produces a rotation by the quaternion quat in the current matrix. | |
void | cinder::gl::rotate (float degrees) |
Produces a 2D rotation, the equivalent of a rotation around the Z axis by degrees. | |
void | cinder::gl::vertex (const Vec2f &v) |
Used between calls to glBegin and glEnd , appends a vertex to the current primitive. | |
void | cinder::gl::vertex (const Vec3f &v) |
Used between calls to glBegin and glEnd , appends a vertex to the current primitive. | |
void | cinder::gl::color (const Color &c) |
Sets the current color, and the alpha value to 1.0. | |
void | cinder::gl::color (const ColorA &c) |
Sets the current color and alpha value. | |
void | cinder::gl::enableAlphaBlending (bool premultiplied=false) |
Enables alpha blending. Selects a BlendFunc that is appropriate for premultiplied-alpha when premultiplied. | |
void | cinder::gl::disableAlphaBlending () |
Disables alpha blending. | |
void | cinder::gl::enableAdditiveBlending () |
Enables alpha blending and selects a BlendFunc for additive blending. | |
void | cinder::gl::enableAlphaTest (float value=0.5f, int func=GL_GREATER) |
Enables alpha testing and sets the AlphaFunc to test for values which are func than value, which should be in the range [0, 1.0]. Possible values for func include GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL and GL_ALWAYS . | |
void | cinder::gl::disableAlphaTest () |
Disables alpha testing. | |
void | cinder::gl::enableWireframe () |
Enables wireframe drawing by setting the PolygonMode to GL_LINE . | |
void | cinder::gl::disableWireframe () |
Disables wireframe drawing. | |
void | cinder::gl::disableDepthRead () |
Disables reading from the depth buffer, disabling z-testing. | |
void | cinder::gl::disableDepthWrite () |
Disables writing to the depth buffer. | |
void | cinder::gl::enableDepthRead (bool enable=true) |
Enables reading from the depth buffer when enable, enabling z-testing. | |
void | cinder::gl::enableDepthWrite (bool enable=true) |
Enables writing to the depth buffer when enable. | |
void | cinder::gl::drawCube (const Vec3f ¢er, const Vec3f &size) |
Renders a solid cube centered at center of size size. Normals and created texture coordinates are generated for GL_TEXTURE_2D , with each face in the range [0,0] - [1.0,1.0]. | |
void | cinder::gl::drawColorCube (const Vec3f ¢er, const Vec3f &size) |
Renders a solid cube centered at center of size size. Each face is assigned a unique color, and no normals or texture coordinates are generated. | |
void | cinder::gl::drawSphere (const Vec3f ¢er, float radius, int segments=12) |
Renders a solid sphere centered at center of radius radius. segments defines how many segments the sphere is subdivided into. Normals and texture coordinates in the range [0,1] are generated. | |
void | cinder::gl::draw (const class Sphere &sphere, int segments=12) |
Renders a solid sphere. segments defines how many segments the sphere is subdivided into. Normals and texture coordinates in the range [0,1] are generated. | |
void | cinder::gl::drawSolidCircle (const Vec2f ¢er, float radius, int numSegments=0) |
Renders a solid circle using triangle fans. The default value of zero for numSegments automatically determines a number of segments based on the circle's circumference. | |
void | cinder::gl::drawSolidRect (const Rectf &rect, bool textureRectangle=false) |
Renders a solid rectangle. Texture coordinates in the range [0,1] are generated unless textureRectangle. | |
void | cinder::gl::drawCoordinateFrame (float axisLength=1.0f, float headLength=0.2f, float headRadius=0.05f) |
Renders a coordinate frame representation centered at the origin. Arrowheads are drawn at the end of each axis with radius headRadius and length headLength. | |
void | cinder::gl::drawVector (const Vec3f &start, const Vec3f &end, float headLength=0.2f, float headRadius=0.05f) |
Draws a vector starting at start and ending at end. An arrowhead is drawn at the end of radius headRadius and length headLength. | |
void | cinder::gl::drawFrustum (const Camera &cam) |
Draws a wireframe representation of the frustum defined by cam. | |
void | cinder::gl::drawTorus (float outterRadius, float innerRadius, int longitudeSegments=12, int latitudeSegments=12) |
Draws a torus at the origin, with an outter radius outterRadius and an inner radius innerRadius, subdivided into longitudeSegments and latitudeSegments. Normals and texture coordinates in the range [0,1] are generated. | |
void | cinder::gl::draw (const TriMesh &mesh) |
Draws a cinder::TriMesh mesh at the origin. | |
void | cinder::gl::drawRange (const TriMesh &mesh, size_t startTriangle, size_t triangleCount) |
Draws a range of triangles starting with triangle # startTriangle and a count of triangleCount from cinder::TriMesh mesh at the origin. | |
void | cinder::gl::draw (const VboMesh &vbo) |
Draws a cinder::gl::VboMesh mesh at the origin. | |
void | cinder::gl::drawRange (const VboMesh &vbo, size_t startIndex, size_t indexCount, int vertexStart=-1, int vertexEnd=-1) |
Draws a range of vertices and elements of cinder::gl::VboMesh mesh at the origin. Default parameters for vertexStart and vertexEnd imply the VboMesh's full range of vertices. | |
void | cinder::gl::drawArrays (const VboMesh &vbo, GLint first, GLsizei count) |
Draws a range of elements from a cinder::gl::VboMesh vbo. | |
void | cinder::gl::drawBillboard (const Vec3f &pos, const Vec2f &scale, float rotationDegrees, const Vec3f &bbRight, const Vec3f &bbUp) |
Draws a textured quad of size scale that is aligned with the vectors bbRight and bbUp at pos, rotated by rotationDegrees around the vector orthogonal to bbRight and bbUp. | |
void | cinder::gl::draw (const Texture &texture) |
Draws texture on the XY-plane. | |
void | cinder::gl::draw (const Texture &texture, const Vec2f &pos) |
Draws texture on the XY-plane at pos. | |
void | cinder::gl::draw (const Texture &texture, const Rectf &rect) |
Draws texture on the XY-plane in the rectangle defined by rect. | |
void | cinder::gl::draw (const Texture &texture, const Area &srcArea, const Rectf &destRect) |
Draws the pixels inside srcArea of texture on the XY-plane in the rectangle defined by destRect. | |
void | cinder::gl::drawString (const std::string &str, const Vec2f &pos, const ColorA &color=ColorA(1, 1, 1, 1), Font font=Font()) |
Draws a string str with its lower left corner located at pos. Optional font and color affect the style. | |
void | cinder::gl::drawStringCentered (const std::string &str, const Vec2f &pos, const ColorA &color=ColorA(1, 1, 1, 1), Font font=Font()) |
Draws a string str with the horizontal center of its baseline located at pos. Optional font and color affect the style. | |
void | cinder::gl::drawStringRight (const std::string &str, const Vec2f &pos, const ColorA &color=ColorA(1, 1, 1, 1), Font font=Font()) |
Draws a right-justified string str with the center of its located at pos. Optional font and color affect the style. | |
void | cinder::gl::initializeGlee () |
Initializes the GLee library. This is generally called automatically by the application and is only necessary if you need to use GLee before your app's setup() method is called. | |
void | glVertex2f (const cinder::Vec2f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glVertex3f (const cinder::Vec3f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glVertex4f (const cinder::Vec4f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glNormal3f (const cinder::Vec3f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glColor3f (const cinder::Color &c) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glColor4f (const cinder::ColorA &c) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glTexCoord2f (const cinder::Vec2f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glTexCoord3f (const cinder::Vec3f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glTexCoord4f (const cinder::Vec4f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glTranslatef (const cinder::Vec3f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glScalef (const cinder::Vec3f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glRotatef (float angle, const cinder::Vec3f &v) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glRotatef (const cinder::Quatf &quat) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glMultMatrixf (const cinder::Matrix44f &m) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. | |
void | glLoadMatrixf (const cinder::Matrix44f &m) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively. |
void glVertex2f | ( | const cinder::Vec2f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glVertex3f | ( | const cinder::Vec3f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glVertex4f | ( | const cinder::Vec4f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glNormal3f | ( | const cinder::Vec3f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glColor3f | ( | const cinder::Color & | c | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glColor4f | ( | const cinder::ColorA & | c | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glTexCoord2f | ( | const cinder::Vec2f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glTexCoord3f | ( | const cinder::Vec3f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glTexCoord4f | ( | const cinder::Vec4f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glTranslatef | ( | const cinder::Vec3f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glScalef | ( | const cinder::Vec3f & | v | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glRotatef | ( | float | angle, | |
const cinder::Vec3f & | v | |||
) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glRotatef | ( | const cinder::Quatf & | quat | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glMultMatrixf | ( | const cinder::Matrix44f & | m | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.
void glLoadMatrixf | ( | const cinder::Matrix44f & | m | ) |
Global overloads for OpenGL free functions to allow the use of Cinder types natively.