Cinder  0.9.1
Classes | Typedefs | Enumerations | Functions
cinder::gl Namespace Reference

Classes

class  Batch
 
class  BufferObj
 
class  BufferTexture
 
class  Context
 
class  DdsParseExc
 
class  Environment
 
class  ExcContextAllocation
 
class  Exception
 
class  ExceptionUnknownTarget
 
class  Fbo
 
class  FboCubeMap
 
class  FboException
 
class  FboExceptionInvalidSpecification
 
class  GlslNullProgramExc
 
class  GlslProg
 
class  GlslProgCompileExc
 
class  GlslProgExc
 
class  GlslProgLinkExc
 
class  KtxParseExc
 
class  Pbo
 
struct  PlatformDataMsw
 
class  Query
 
class  QueryException
 
class  QueryTimeSwapped
 
class  Renderbuffer
 
struct  ScopedActiveTexture
 
struct  ScopedBlend
 
struct  ScopedBlendAdditive
 
struct  ScopedBlendAlpha
 
struct  ScopedBlendPremult
 
struct  ScopedBuffer
 
struct  ScopedColor
 
struct  ScopedDepth
 
struct  ScopedDepthTest
 
struct  ScopedDepthWrite
 
struct  ScopedFaceCulling
 
struct  ScopedFramebuffer
 
struct  ScopedFrontFace
 
struct  ScopedGlslProg
 
struct  ScopedLineWidth
 
struct  ScopedLogicOp
 
struct  ScopedMatrices
 
struct  ScopedModelMatrix
 
struct  ScopedPolygonMode
 
struct  ScopedProjectionMatrix
 
struct  ScopedRenderbuffer
 
struct  ScopedScissor
 
struct  ScopedState
 
struct  ScopedTextureBind
 
struct  ScopedVao
 
struct  ScopedViewMatrix
 
struct  ScopedViewport
 
class  ShaderDef
 
class  ShaderPreprocessor
 
class  ShaderPreprocessorExc
 
class  Ssbo
 
class  SurfaceConstraintsGLTexture
 
class  Sync
 
class  Texture1d
 
class  Texture2d
 
class  Texture2dCache
 
class  Texture3d
 
class  TextureBase
 
class  TextureCubeMap
 
class  TextureData
 
class  TextureDataExc
 
class  TextureDataStoreTooSmallExc
 
class  TextureFont
 
class  TextureResizeExc
 
class  Ubo
 
class  Vao
 
class  Vbo
 
class  VboMesh
 
class  VertBatch
 

Typedefs

typedef std::shared_ptr< ContextContextRef
 
typedef std::shared_ptr< BatchBatchRef
 
typedef std::shared_ptr< VertBatchVertBatchRef
 
typedef std::shared_ptr< class BufferObjBufferObjRef
 
typedef std::shared_ptr< class BufferTextureBufferTextureRef
 
typedef std::shared_ptr< VboVboRef
 
typedef std::shared_ptr< VaoVaoRef
 
typedef std::shared_ptr< TransformFeedbackObj > TransformFeedbackObjRef
 
typedef std::shared_ptr< Texture2dTexture2dRef
 
typedef std::shared_ptr< GlslProgGlslProgRef
 
typedef std::shared_ptr< FboFboRef
 
typedef std::shared_ptr< class VboMeshVboMeshRef
 
typedef std::shared_ptr< RenderbufferRenderbufferRef
 
typedef std::shared_ptr< FboCubeMapFboCubeMapRef
 
typedef std::shared_ptr< class PboPboRef
 
typedef std::shared_ptr< class QueryQueryRef
 
typedef std::shared_ptr< class QueryTimeSwappedQueryTimeSwappedRef
 
typedef Texture2dRef TextureRef
 
typedef std::shared_ptr< SsboSsboRef
 
typedef std::shared_ptr< class SyncSyncRef
 
typedef class Texture2d Texture
 
typedef std::shared_ptr< class TextureBaseTextureBaseRef
 
typedef std::shared_ptr< class Texture1dTexture1dRef
 
typedef std::shared_ptr< class Texture3dTexture3dRef
 
typedef std::shared_ptr< class TextureCubeMapTextureCubeMapRef
 
typedef std::shared_ptr< class Texture2dCacheTexture2dCacheRef
 
typedef std::shared_ptr< class TextureFontTextureFontRef
 
typedef std::shared_ptr< class UboUboRef
 

Enumerations

enum  UniformSemantic {
  UNIFORM_MODEL_MATRIX, UNIFORM_MODEL_MATRIX_INVERSE, UNIFORM_MODEL_MATRIX_INVERSE_TRANSPOSE, UNIFORM_VIEW_MATRIX,
  UNIFORM_VIEW_MATRIX_INVERSE, UNIFORM_MODEL_VIEW, UNIFORM_MODEL_VIEW_INVERSE, UNIFORM_MODEL_VIEW_INVERSE_TRANSPOSE,
  UNIFORM_MODEL_VIEW_PROJECTION, UNIFORM_MODEL_VIEW_PROJECTION_INVERSE, UNIFORM_PROJECTION_MATRIX, UNIFORM_PROJECTION_MATRIX_INVERSE,
  UNIFORM_VIEW_PROJECTION, UNIFORM_NORMAL_MATRIX, UNIFORM_VIEWPORT_MATRIX, UNIFORM_WINDOW_SIZE,
  UNIFORM_ELAPSED_SECONDS, UNIFORM_USER_DEFINED
}
 

Functions

std::ostream & operator<< (std::ostream &os, const BufferObj &rhs)
 
std::string constantToString (GLenum constant)
 
uint8_t typeToDimension (GLenum type)
 
uint8_t typeToBytes (GLenum type)
 
void draw (const VboMeshRef &mesh, GLint first=0, GLsizei count=-1)
 
void draw (const Texture2dRef &texture, const Rectf &dstRect)
 
void draw (const Texture2dRef &texture, const Area &srcArea, const Rectf &dstRect)
 
void draw (const Texture2dRef &texture, const vec2 &dstOffset=vec2())
 
void draw (const PolyLine2 &polyLine)
 
void draw (const PolyLine3 &polyLine)
 
void draw (const Path2d &path, float approximationScale=1.0f)
 
void draw (const Shape2d &shape, float approximationScale=1.0f)
 
void draw (const TriMesh &mesh)
 
void draw (const geom::Source &source)
 
void drawEquirectangular (const gl::TextureCubeMapRef &texture, const Rectf &r, float lod=-1)
 
void drawHorizontalCross (const gl::TextureCubeMapRef &texture, const Rectf &rect, float lod=-1)
 
void drawVerticalCross (const gl::TextureCubeMapRef &texture, const Rectf &rect, float lod=-1)
 
void drawSolid (const Path2d &path2d, float approximationScale=1.0f)
 
void drawSolid (const Shape2d &shape, float approximationScale=1.0f)
 
void drawSolid (const PolyLine2 &polyLine)
 
void drawCube (const vec3 &center, const vec3 &size)
 
void drawColorCube (const vec3 &center, const vec3 &size)
 
void drawStrokedCube (const vec3 &center, const vec3 &size)
 
void drawStrokedCube (const ci::AxisAlignedBox &box)
 
void drawSphere (const Sphere &sphere, int subdivisions=-1)
 
void drawSphere (const vec3 &center, float radius, int subdivisions=-1)
 
void drawBillboard (const vec3 &pos, const vec2 &scale, float rotationRadians, const vec3 &bbRight, const vec3 &bbUp, const Rectf &texCoords=Rectf(0, 0, 1, 1))
 
void drawFrustum (const Camera &cam)
 
void drawCoordinateFrame (float axisLength=1.0f, float headLength=0.2f, float headRadius=0.05f)
 
void drawVector (const vec3 &start, const vec3 &end, float headLength=0.2f, float headRadius=0.05f)
 
void drawLine (const vec3 &a, const vec3 &b)
 
void drawLine (const vec2 &a, const vec2 &b)
 
void drawSolidRect (const Rectf &r, const vec2 &upperLeftTexCoord=vec2(0, 1), const vec2 &lowerRightTexCoord=vec2(1, 0))
 
void drawSolidRoundedRect (const Rectf &r, float cornerRadius, int numSegmentsPerCorner=0, const vec2 &upperLeftTexCoord=vec2(0, 1), const vec2 &lowerRightTexCoord=vec2(1, 0))
 
void drawSolidCircle (const vec2 &center, float radius, int numSegments=-1)
 
void drawSolidEllipse (const vec2 &center, float radiusX, float radiusY, int numSegments=-1)
 
void drawStrokedRect (const Rectf &rect)
 
void drawStrokedRect (const Rectf &rect, float lineWidth)
 
void drawStrokedRoundedRect (const Rectf &rect, float cornerRadius, int numSegmentsPerCorner=0)
 
void drawStrokedCircle (const vec2 &center, float radius, int numSegments=-1)
 
void drawStrokedCircle (const vec2 &center, float radius, float lineWidth, int numSegments=-1)
 
void drawStrokedEllipse (const vec2 &center, float radiusX, float radiusY, int numSegments=-1)
 
void drawString (const std::string &str, const vec2 &pos, const ColorA &color=ColorA(1, 1, 1, 1), Font font=Font())
 
void drawStringCentered (const std::string &str, const vec2 &pos, const ColorA &color=ColorA(1, 1, 1, 1), Font font=Font())
 
void drawStringRight (const std::string &str, const vec2 &pos, const ColorA &color=ColorA(1, 1, 1, 1), Font font=Font())
 
void drawSolidTriangle (const vec2 &pt0, const vec2 &pt1, const vec2 &pt2)
 
void drawSolidTriangle (const vec2 &pt0, const vec2 &pt1, const vec2 &pt2, const vec2 &texPt0, const vec2 &texPt1, const vec2 &texPt2)
 
void drawSolidTriangle (const vec2 pts[3], const vec2 texCoord[3]=nullptr)
 
void drawArrays (GLenum mode, GLint first, GLsizei count)
 
void drawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
 
std::ostream & operator<< (std::ostream &os, const Renderbuffer &rhs)
 
std::ostream & operator<< (std::ostream &os, const TextureBase &rhs)
 
void parseKtx (const DataSourceRef &dataSource, TextureData *resultData)
 
void parseDds (const DataSourceRef &dataSource, TextureData *resultData)
 
std::ostream & operator<< (std::ostream &lhs, const Vao &rhs)
 
std::ostream & operator<< (std::ostream &lhs, const Vao::Layout &rhs)
 
class Contextcontext ()
 
class Environmentenv ()
 
void enableVerticalSync (bool enable=true)
 
bool isVerticalSyncEnabled ()
 
GLenum getError ()
 
std::string getErrorString (GLenum err)
 
void checkError ()
 
bool isExtensionAvailable (const std::string &extName)
 
std::pair< GLint, GLint > getVersion ()
 
std::string getVersionString ()
 
GlslProgRefgetStockShader (const class ShaderDef &shader)
 
void bindStockShader (const class ShaderDef &shader)
 
void setDefaultShaderVars ()
 
void clear (const ColorA &color=ColorA::black(), bool clearDepthBuffer=true)
 
void clear (GLbitfield mask)
 
void clearColor (const ColorA &color)
 
void clearDepth (const double depth)
 
void clearDepth (const float depth)
 
void clearStencil (const int s)
 
void colorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
 
void depthMask (GLboolean flag)
 
void stencilFunc (GLenum func, GLint ref, GLuint mask)
 
void stencilOp (GLenum fail, GLenum zfail, GLenum zpass)
 
void stencilMask (GLuint mask)
 
std::pair< ivec2, ivec2 > getViewport ()
 
void viewport (const std::pair< ivec2, ivec2 > positionAndSize)
 
void viewport (int x, int y, int width, int height)
 
void viewport (const ivec2 &position, const ivec2 &size)
 
void viewport (const ivec2 &size)
 
void pushViewport (const std::pair< ivec2, ivec2 > positionAndSize)
 
void pushViewport ()
 
void pushViewport (int x, int y, int width, int height)
 
void pushViewport (const ivec2 &position, const ivec2 &size)
 
void pushViewport (const ivec2 &size)
 
void popViewport ()
 
std::pair< ivec2, ivec2 > getScissor ()
 
void scissor (const std::pair< ivec2, ivec2 > positionAndSize)
 
void scissor (int x, int y, int width, int height)
 
void scissor (const ivec2 &position, const ivec2 &size)
 
void enable (GLenum state, bool enable=true)
 
void disable (GLenum state)
 
void enableBlending (bool enable=false)
 
void disableBlending ()
 
void enableAlphaBlending (bool enable=true)
 
void enableAlphaBlendingPremult ()
 
void disableAlphaBlending ()
 
void enableAdditiveBlending ()
 
void enableFaceCulling (bool enable=true)
 
void cullFace (GLenum face)
 
void enableLogicOp (bool enable=true)
 
void logicOp (GLenum mode)
 
void disableDepthRead ()
 
void disableDepthWrite ()
 
void enableDepthRead (bool enable=true)
 
void enableDepthWrite (bool enable=true)
 
void enableDepth (bool enable=true)
 
void enableStencilTest (bool enable=true)
 
void disableStencilTest ()
 
void setMatrices (const ci::Camera &cam)
 
void setModelMatrix (const ci::mat4 &m)
 
void setViewMatrix (const ci::mat4 &m)
 
void setProjectionMatrix (const ci::mat4 &m)
 
void pushModelMatrix ()
 
void popModelMatrix ()
 
void pushViewMatrix ()
 
void popViewMatrix ()
 
void pushProjectionMatrix ()
 
void popProjectionMatrix ()
 
void pushModelView ()
 
void popModelView ()
 
void pushMatrices ()
 
void popMatrices ()
 
void multModelMatrix (const ci::mat4 &mtx)
 
void multViewMatrix (const ci::mat4 &mtx)
 
void multProjectionMatrix (const ci::mat4 &mtx)
 
mat4 getModelMatrix ()
 
mat4 getViewMatrix ()
 
mat4 getProjectionMatrix ()
 
mat4 getModelView ()
 
mat4 getModelViewProjection ()
 
mat4 calcViewMatrixInverse ()
 
mat3 calcModelMatrixInverseTranspose ()
 
mat3 calcNormalMatrix ()
 
mat4 calcViewportMatrix ()
 
void setMatricesWindowPersp (int screenWidth, int screenHeight, float fovDegrees=60.0f, float nearPlane=1.0f, float farPlane=1000.0f, bool originUpperLeft=true)
 
void setMatricesWindowPersp (const ci::ivec2 &screenSize, float fovDegrees=60.0f, float nearPlane=1.0f, float farPlane=1000.0f, bool originUpperLeft=true)
 
void setMatricesWindow (int screenWidth, int screenHeight, bool originUpperLeft=true)
 
void setMatricesWindow (const ci::ivec2 &screenSize, bool originUpperLeft=true)
 
void rotate (const quat &quat)
 
void rotate (float angleRadians, const ci::vec3 &axis)
 
void rotate (float angleRadians, float xAxis, float yAxis, float zAxis)
 
void rotate (float zRadians)
 
void scale (const ci::vec3 &v)
 
void scale (float x, float y, float z)
 
void scale (const ci::vec2 &v)
 
void scale (float x, float y)
 
void translate (const ci::vec3 &v)
 
void translate (float x, float y, float z)
 
void translate (const ci::vec2 &v)
 
void translate (float x, float y)
 
vec3 windowToObjectCoord (const mat4 &modelMatrix, const vec2 &coordinate, float z=0.0f)
 
vec2 objectToWindowCoord (const mat4 &modelMatrix, const vec3 &coordinate)
 
vec3 windowToObjectCoord (const vec2 &coordinate, float z=0.0f)
 
vec2 objectToWindowCoord (const vec3 &coordinate)
 
vec3 windowToWorldCoord (const vec2 &coordinate, float z=0.0f)
 
vec2 worldToWindowCoord (const vec3 &coordinate)
 
void begin (GLenum mode)
 
void end ()
 
void bindBufferBase (GLenum target, int index, BufferObjRef buffer)
 
void beginTransformFeedback (GLenum primitiveMode)
 
void endTransformFeedback ()
 
void resumeTransformFeedback ()
 
void pauseTransformFeedback ()
 
void patchParameteri (GLenum pname, GLint value)
 
void patchParameterfv (GLenum pname, GLfloat *value)
 
void color (float r, float g, float b)
 
void color (float r, float g, float b, float a)
 
void color (const ci::Color &c)
 
void color (const ci::ColorA &c)
 
void color (const ci::Color8u &c)
 
void color (const ci::ColorA8u &c)
 
void texCoord (float s, float t)
 
void texCoord (float s, float t, float r)
 
void texCoord (float s, float t, float r, float q)
 
void texCoord (const ci::vec2 &v)
 
void texCoord (const ci::vec3 &v)
 
void texCoord (const ci::vec4 &v)
 
void vertex (float x, float y)
 
void vertex (float x, float y, float z)
 
void vertex (float x, float y, float z, float w)
 
void vertex (const ci::vec2 &v)
 
void vertex (const ci::vec3 &v)
 
void vertex (const ci::vec4 &v)
 
void polygonMode (GLenum face, GLenum mode)
 
void enableWireframe ()
 
void disableWireframe ()
 
bool isWireframeEnabled ()
 
void setWireframeEnabled (bool enable=true)
 
void lineWidth (float width)
 
void pointSize (float size)
 
GLenum toGl (geom::Primitive prim)
 
geom::Primitive toGeomPrimitive (GLenum prim)
 
std::string uniformSemanticToString (UniformSemantic uniformSemantic)
 
void vertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)
 
void vertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
 
void enableVertexAttribArray (GLuint index)
 
void vertexAttrib1f (GLuint index, float v0)
 
void vertexAttrib (GLuint index, float v0)
 
void vertexAttrib2f (GLuint index, float v0, float v1)
 
void vertexAttrib (GLuint index, float v0, float v1)
 
void vertexAttrib3f (GLuint index, float v0, float v1, float v2)
 
void vertexAttrib (GLuint index, float v0, float v1, float v2)
 
void vertexAttrib4f (GLuint index, float v0, float v1, float v2, float v3)
 
void vertexAttrib (GLuint index, float v0, float v1, float v2, float v3)
 
void bindBuffer (const BufferObjRef &buffer)
 
void bindBuffer (GLenum target, GLuint buffer)
 
void readBuffer (GLenum src)
 
void drawBuffers (GLsizei num, const GLenum *bufs)
 
void drawBuffer (GLenum dst)
 
void readPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *data)
 
void dispatchCompute (GLuint numGroupsX, GLuint numGroupsY, GLuint numGroupsZ)
 
void memoryBarrier (GLbitfield barriers)
 
ivec3 getMaxComputeWorkGroupCount ()
 
ivec3 getMaxComputeWorkGroupSize ()
 
void draw (const svg::Doc &svg)
 
void drawSolidTriangle (const vec2 pts[3])
 
void drawStrokedTriangle (const vec2 &pt0, const vec2 &pt1, const vec2 &pt2)
 
EnvironmentallocateEnvironmentCore ()
 
EnvironmentallocateEnvironmentEs ()
 
std::ostream & operator<< (std::ostream &os, const Fbo &rhs)
 
std::ostream & operator<< (std::ostream &os, const GlslProg &rhs)
 
VaoRef createVaoImplCore ()
 
VaoRef createVaoImplSoftware ()
 

Typedef Documentation

typedef std::shared_ptr< Context > cinder::gl::ContextRef
typedef std::shared_ptr<Batch> cinder::gl::BatchRef
typedef std::shared_ptr< VertBatch > cinder::gl::VertBatchRef
typedef std::shared_ptr< class BufferObj > cinder::gl::BufferObjRef
typedef std::shared_ptr<class BufferTexture> cinder::gl::BufferTextureRef
typedef std::shared_ptr< class Vbo > cinder::gl::VboRef
typedef std::shared_ptr< class Vao > cinder::gl::VaoRef
typedef std::shared_ptr<TransformFeedbackObj> cinder::gl::TransformFeedbackObjRef
typedef std::shared_ptr< Texture2d > cinder::gl::Texture2dRef
typedef std::shared_ptr< class GlslProg > cinder::gl::GlslProgRef
typedef std::shared_ptr< class Fbo > cinder::gl::FboRef
typedef std::shared_ptr< VboMesh > cinder::gl::VboMeshRef
typedef std::shared_ptr< class Renderbuffer > cinder::gl::RenderbufferRef
typedef std::shared_ptr<FboCubeMap> cinder::gl::FboCubeMapRef
typedef std::shared_ptr< Pbo > cinder::gl::PboRef
typedef std::shared_ptr<class Query> cinder::gl::QueryRef
typedef std::shared_ptr<class QueryTimeSwapped> cinder::gl::QueryTimeSwappedRef
typedef std::shared_ptr<Ssbo> cinder::gl::SsboRef
typedef std::shared_ptr<class Sync> cinder::gl::SyncRef
typedef std::shared_ptr<class TextureBase> cinder::gl::TextureBaseRef
typedef std::shared_ptr<class Texture1d> cinder::gl::Texture1dRef
typedef std::shared_ptr<class Texture3d> cinder::gl::Texture3dRef
typedef std::shared_ptr<class TextureCubeMap> cinder::gl::TextureCubeMapRef
typedef std::shared_ptr<class Texture2dCache> cinder::gl::Texture2dCacheRef
typedef std::shared_ptr<class TextureFont> cinder::gl::TextureFontRef
typedef std::shared_ptr<class Ubo> cinder::gl::UboRef

Enumeration Type Documentation

Enumerator
UNIFORM_MODEL_MATRIX 
UNIFORM_MODEL_MATRIX_INVERSE 
UNIFORM_MODEL_MATRIX_INVERSE_TRANSPOSE 
UNIFORM_VIEW_MATRIX 
UNIFORM_VIEW_MATRIX_INVERSE 
UNIFORM_MODEL_VIEW 
UNIFORM_MODEL_VIEW_INVERSE 
UNIFORM_MODEL_VIEW_INVERSE_TRANSPOSE 
UNIFORM_MODEL_VIEW_PROJECTION 
UNIFORM_MODEL_VIEW_PROJECTION_INVERSE 
UNIFORM_PROJECTION_MATRIX 
UNIFORM_PROJECTION_MATRIX_INVERSE 
UNIFORM_VIEW_PROJECTION 
UNIFORM_NORMAL_MATRIX 
UNIFORM_VIEWPORT_MATRIX 
UNIFORM_WINDOW_SIZE 
UNIFORM_ELAPSED_SECONDS 
UNIFORM_USER_DEFINED 

Function Documentation

std::ostream & cinder::gl::operator<< ( std::ostream &  os,
const BufferObj rhs 
)
std::string cinder::gl::constantToString ( GLenum  constant)

Returns a string representation for a subset of the GL constants, stripping the "GL" prefix. Returns empty string if unknown.

Returns a string representation for a subset of the GL constants. Returns empty string if unknown.

uint8_t cinder::gl::typeToDimension ( GLenum  type)
uint8_t cinder::gl::typeToBytes ( GLenum  type)
void cinder::gl::draw ( const VboMeshRef mesh,
GLint  first = 0,
GLsizei  count = -1 
)

Draws the VboMesh mesh. Consider a gl::Batch as a faster alternative. Optionally specify a first vertex index and a count of vertices.

void cinder::gl::draw ( const Texture2dRef texture,
const Rectf dstRect 
)

Draws a Texture2d texture, fitting it to dstRect. Ignores currently bound shader.

void cinder::gl::draw ( const Texture2dRef texture,
const Area srcArea,
const Rectf dstRect 
)

Draws a subregion srcArea of a Texture (expressed as upper-left origin pixels).

void cinder::gl::draw ( const Texture2dRef texture,
const vec2 &  dstOffset = vec2() 
)
void cinder::gl::draw ( const PolyLine2 polyLine)
void cinder::gl::draw ( const PolyLine3 polyLine)
void cinder::gl::draw ( const Path2d path,
float  approximationScale = 1.0f 
)

Draws a Path2d pathd using approximation scale approximationScale. 1.0 corresponds to screenspace, 2.0 is double screen resolution, etc.

void cinder::gl::draw ( const Shape2d shape,
float  approximationScale = 1.0f 
)

Draws a Shaped2d shaped using approximation scale approximationScale. 1.0 corresponds to screenspace, 2.0 is double screen resolution, etc.

void cinder::gl::draw ( const TriMesh mesh)

Draws a TriMesh mesh at the origin. Currently only uses position and index information.

void cinder::gl::draw ( const geom::Source source)

Draws a geom::Source source at the origin.

void cinder::gl::drawEquirectangular ( const gl::TextureCubeMapRef texture,
const Rectf r,
float  lod = -1 
)

Draws a CubeMapTex texture inside rect with an equirectangular projection. If lod is non-default then a specific mip-level is drawn. Typical aspect ratio should be 2:1.

void cinder::gl::drawHorizontalCross ( const gl::TextureCubeMapRef texture,
const Rectf rect,
float  lod = -1 
)

Draws a CubeMapTex texture as a horizontal cross, fit inside rect. If lod is non-default then a specific mip-level is drawn. Typical aspect ratio should be 4:3.

void cinder::gl::drawVerticalCross ( const gl::TextureCubeMapRef texture,
const Rectf rect,
float  lod = -1 
)

Draws a CubeMapTex texture as a vertical cross, fit inside rect. If lod is non-default then a specific mip-level is drawn. Typical aspect ratio should be 3:4.

void cinder::gl::drawSolid ( const Path2d path2d,
float  approximationScale = 1.0f 
)

Draws a solid (filled) Path2d path using approximation scale approximationScale. 1.0 corresponds to screenspace, 2.0 is double screen resolution, etc. Performance warning: This routine tesselates the polygon into triangles. Consider using Triangulator directly.

void cinder::gl::drawSolid ( const Shape2d shape,
float  approximationScale = 1.0f 
)

Draws a solid (filled) Shape2d shape using approximation scale approximationScale. 1.0 corresponds to screenspace, 2.0 is double screen resolution, etc. Performance warning: This routine tesselates the polygon into triangles. Consider using Triangulator directly.

void cinder::gl::drawSolid ( const PolyLine2 polyLine)
void cinder::gl::drawCube ( const vec3 &  center,
const vec3 &  size 
)

Renders a solid cube centered at center of size size. Normals and created texture coordinates are generated.

void cinder::gl::drawColorCube ( const vec3 &  center,
const vec3 &  size 
)

Renders a solid cube centered at center of size size. Each face is assigned a unique color.

void cinder::gl::drawStrokedCube ( const vec3 &  center,
const vec3 &  size 
)

Renders a stroked cube centered at center of size size.

void cinder::gl::drawStrokedCube ( const ci::AxisAlignedBox box)

Renders a stroked cube using box as the guide for center and size.

void cinder::gl::drawSphere ( const Sphere sphere,
int  subdivisions = -1 
)

Renders a solid sphere, subdivided on both longitude and latitude into subdivisions.

void cinder::gl::drawSphere ( const vec3 &  center,
float  radius,
int  subdivisions = -1 
)

Renders a solid sphere at center of radius radius, subdivided on both longitude and latitude into subdivisions.

void cinder::gl::drawBillboard ( const vec3 &  pos,
const vec2 &  scale,
float  rotationRadians,
const vec3 &  bbRight,
const vec3 &  bbUp,
const Rectf texCoords = Rectf( 0, 0, 1, 1 ) 
)

Draws a textured quad of size scale that is aligned with the vectors bbRight and bbUp at pos, rotated by rotationRadians around the vector orthogonal to bbRight and bbUp.

void cinder::gl::drawFrustum ( const Camera cam)

Renders a stroked representation of cam.

void cinder::gl::drawCoordinateFrame ( float  axisLength = 1.0f,
float  headLength = 0.2f,
float  headRadius = 0.05f 
)
void cinder::gl::drawVector ( const vec3 &  start,
const vec3 &  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::drawLine ( const vec3 &  a,
const vec3 &  b 
)

Draws a line between points a and b.

void cinder::gl::drawLine ( const vec2 &  a,
const vec2 &  b 
)
void cinder::gl::drawSolidRect ( const Rectf r,
const vec2 &  upperLeftTexCoord = vec2( 0, 1 ),
const vec2 &  lowerRightTexCoord = vec2( 1, 0 ) 
)

Draws texture on the XY-plane.

void cinder::gl::drawSolidRoundedRect ( const Rectf r,
float  cornerRadius,
int  numSegmentsPerCorner = 0,
const vec2 &  upperLeftTexCoord = vec2( 0, 1 ),
const vec2 &  lowerRightTexCoord = vec2( 1, 0 ) 
)

Draws a solid rounded rectangle centered around rect, with a corner radius of cornerRadius.

void cinder::gl::drawSolidCircle ( const vec2 &  center,
float  radius,
int  numSegments = -1 
)

Draws a filled circle centered around center with a radius of radius. Default numSegments requests a conservative (high-quality but slow) number based on radius.

void cinder::gl::drawSolidEllipse ( const vec2 &  center,
float  radiusX,
float  radiusY,
int  numSegments = -1 
)

Draws a filled ellipse centered around center with an X-axis radius of radiusX and a Y-axis radius of radiusY. Default numSegments requests a conservative (high-quality but slow) number based on radius.

void cinder::gl::drawStrokedRect ( const Rectf rect)

Draws a stroked rectangle with dimensions rect.

void cinder::gl::drawStrokedRect ( const Rectf rect,
float  lineWidth 
)

Draws a stroked rectangle centered around rect, with a line width of lineWidth.

void cinder::gl::drawStrokedRoundedRect ( const Rectf rect,
float  cornerRadius,
int  numSegmentsPerCorner = 0 
)

Draws a stroked rounded rectangle centered around rect, with a corner radius of cornerRadius.

void cinder::gl::drawStrokedCircle ( const vec2 &  center,
float  radius,
int  numSegments = -1 
)

Draws a stroked circle centered around center with a radius of radius. Default numSegments requests a conservative (high-quality but slow) number based on radius.

void cinder::gl::drawStrokedCircle ( const vec2 &  center,
float  radius,
float  lineWidth,
int  numSegments = -1 
)

Draws a stroked circle centered around center with a radius of radius and a line width of lineWidth. Default numSegments requests a conservative (high-quality but slow) number based on radius.

void cinder::gl::drawStrokedEllipse ( const vec2 &  center,
float  radiusX,
float  radiusY,
int  numSegments = -1 
)

Draws a stroked ellipse centered around center with an X-axis radius of radiusX and a Y-axis radius of radiusY. Default numSegments requests a conservative (high-quality but slow) number based on radius.

void cinder::gl::drawString ( const std::string &  str,
const vec2 &  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 vec2 &  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 vec2 &  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::drawSolidTriangle ( const vec2 &  pt0,
const vec2 &  pt1,
const vec2 &  pt2 
)

Renders a solid triangle.

void cinder::gl::drawSolidTriangle ( const vec2 &  pt0,
const vec2 &  pt1,
const vec2 &  pt2,
const vec2 &  texPt0,
const vec2 &  texPt1,
const vec2 &  texPt2 
)

Renders a textured triangle.

void cinder::gl::drawSolidTriangle ( const vec2  pts[3],
const vec2  texCoord[3] = nullptr 
)

Renders a textured triangle.

void cinder::gl::drawArrays ( GLenum  mode,
GLint  first,
GLsizei  count 
)
void cinder::gl::drawElements ( GLenum  mode,
GLsizei  count,
GLenum  type,
const GLvoid *  indices 
)
std::ostream & cinder::gl::operator<< ( std::ostream &  os,
const Renderbuffer rhs 
)
std::ostream & cinder::gl::operator<< ( std::ostream &  os,
const TextureBase rhs 
)
void cinder::gl::parseKtx ( const DataSourceRef dataSource,
TextureData resultData 
)
void cinder::gl::parseDds ( const DataSourceRef dataSource,
TextureData resultData 
)
std::ostream & cinder::gl::operator<< ( std::ostream &  lhs,
const Vao rhs 
)
std::ostream & cinder::gl::operator<< ( std::ostream &  lhs,
const Vao::Layout rhs 
)
Context * cinder::gl::context ( )
Environment * cinder::gl::env ( )
void cinder::gl::enableVerticalSync ( bool  enable = true)
bool cinder::gl::isVerticalSyncEnabled ( )
GLenum cinder::gl::getError ( )
std::string cinder::gl::getErrorString ( GLenum  err)
void cinder::gl::checkError ( )
bool cinder::gl::isExtensionAvailable ( const std::string &  extName)

Returns whether OpenGL Extension extName is implemented on the hardware. For example, "GL_EXT_texture_swizzle". Case insensitive.

std::pair< GLint, GLint > cinder::gl::getVersion ( )

Returns the OpenGL version number as a pair<major,minor>

std::string cinder::gl::getVersionString ( )
GlslProgRef & cinder::gl::getStockShader ( const class ShaderDef shader)
void cinder::gl::bindStockShader ( const class ShaderDef shader)
void cinder::gl::setDefaultShaderVars ( )
void cinder::gl::clear ( const ColorA color = ColorA::black(),
bool  clearDepthBuffer = true 
)
void cinder::gl::clear ( GLbitfield  mask)
void cinder::gl::clearColor ( const ColorA color)
void cinder::gl::clearDepth ( const double  depth)
void cinder::gl::clearDepth ( const float  depth)
void cinder::gl::clearStencil ( const int  s)
void cinder::gl::colorMask ( GLboolean  red,
GLboolean  green,
GLboolean  blue,
GLboolean  alpha 
)
void cinder::gl::depthMask ( GLboolean  flag)
void cinder::gl::stencilFunc ( GLenum  func,
GLint  ref,
GLuint  mask 
)
void cinder::gl::stencilOp ( GLenum  fail,
GLenum  zfail,
GLenum  zpass 
)
void cinder::gl::stencilMask ( GLuint  mask)
std::pair< ivec2, ivec2 > cinder::gl::getViewport ( )
void cinder::gl::viewport ( const std::pair< ivec2, ivec2 >  positionAndSize)
void cinder::gl::viewport ( int  x,
int  y,
int  width,
int  height 
)
void cinder::gl::viewport ( const ivec2 &  position,
const ivec2 &  size 
)
void cinder::gl::viewport ( const ivec2 &  size)
void cinder::gl::pushViewport ( const std::pair< ivec2, ivec2 >  positionAndSize)
void cinder::gl::pushViewport ( )
void cinder::gl::pushViewport ( int  x,
int  y,
int  width,
int  height 
)
void cinder::gl::pushViewport ( const ivec2 &  position,
const ivec2 &  size 
)
void cinder::gl::pushViewport ( const ivec2 &  size)
void cinder::gl::popViewport ( )
std::pair< ivec2, ivec2 > cinder::gl::getScissor ( )
void cinder::gl::scissor ( const std::pair< ivec2, ivec2 >  positionAndSize)
void cinder::gl::scissor ( int  x,
int  y,
int  width,
int  height 
)
void cinder::gl::scissor ( const ivec2 &  position,
const ivec2 &  size 
)
void cinder::gl::enable ( GLenum  state,
bool  enable = true 
)
void cinder::gl::disable ( GLenum  state)
void cinder::gl::enableBlending ( bool  enable = false)

Enables or disables blending state as governed by GL_BLEND but does not modify blend function.

void cinder::gl::disableBlending ( )

Disables blending state via GL_BLEND, but does not modify blend function.

void cinder::gl::enableAlphaBlending ( bool  enable = true)

Enables blending via GL_BLEND and sets the blend function to unpremultiplied alpha blending when enable is true; otherwise disables blending without modifying the blend function.

void cinder::gl::enableAlphaBlendingPremult ( )

Enables blending via GL_BLEND and sets the blend function to premultiplied alpha blending.

void cinder::gl::disableAlphaBlending ( )

Disables blending state as governed by GL_BLEND but does not modify blend function.. Deprecated; prefer disableBlending()

void cinder::gl::enableAdditiveBlending ( )

Enables GL_BLEND and sets the blend function to additive blending.

void cinder::gl::enableFaceCulling ( bool  enable = true)

Specifies whether polygons are culled. Equivalent to calling enable( GL_CULL_FACE, enable ). Specify front or back faces with gl::cullFace().

void cinder::gl::cullFace ( GLenum  face)

Specifies whether front or back-facing polygons are culled (as specified by face) when polygon culling is enabled. Valid values are GL_BACK and GL_FRONT.

void cinder::gl::enableLogicOp ( bool  enable = true)

Specifies whether logic operations are enabled. Equivalent to calling enable( GL_COLOR_LOGIC_OP, enable ). Specify symbolic constants that selects the logical operation with gl::logicOp().

void cinder::gl::logicOp ( GLenum  mode)

Specifies a symbolic constant that selects a logical operation. Valid values are GL_CLEAR, GL_SET, GL_COPY, GL_COPY_INVERTED, GL_NOOP, GL_INVERT, GL_AND, GL_NAND, GL_OR, GL_NOR, GL_XOR, GL_EQUIV, GL_AND_REVERSE, GL_AND_INVERTED, GL_OR_REVERSE, or GL_OR_INVERTED.

void cinder::gl::disableDepthRead ( )

Disables reading / testing from the depth buffer. Disables GL_DEPTH_TEST.

void cinder::gl::disableDepthWrite ( )

Disables writing to depth buffer; analogous to calling glDepthMask( GL_FALSE );.

void cinder::gl::enableDepthRead ( bool  enable = true)

Enables or disables reading / testing from depth buffer; analogous to setting GL_DEPTH_TEST to enable.

void cinder::gl::enableDepthWrite ( bool  enable = true)

Enables or disables writing to depth buffer; analogous to calling glDepthMask( enable ); Note that reading must also be enabled for writing to have any effect.

void cinder::gl::enableDepth ( bool  enable = true)

Enables or disables writing to and reading / testing from depth buffer.

void cinder::gl::enableStencilTest ( bool  enable = true)

Enables or disables the stencil test operation, which controls reading and writing to the stencil buffer. Analagous to glEnable( GL_STENCIL_TEST, enable );

void cinder::gl::disableStencilTest ( )

Disables the stencil test operation. Analagous to glEnable( GL_STENCIL_TEST, false );

void cinder::gl::setMatrices ( const ci::Camera cam)

Sets the View and Projection matrices based on a Camera.

void cinder::gl::setModelMatrix ( const ci::mat4 &  m)
void cinder::gl::setViewMatrix ( const ci::mat4 &  m)
void cinder::gl::setProjectionMatrix ( const ci::mat4 &  m)
void cinder::gl::pushModelMatrix ( )
void cinder::gl::popModelMatrix ( )
void cinder::gl::pushViewMatrix ( )
void cinder::gl::popViewMatrix ( )
void cinder::gl::pushProjectionMatrix ( )
void cinder::gl::popProjectionMatrix ( )
void cinder::gl::pushModelView ( )

Pushes Model and View matrices.

void cinder::gl::popModelView ( )

Pops Model and View matrices.

void cinder::gl::pushMatrices ( )

Pushes Model, View and Projection matrices.

void cinder::gl::popMatrices ( )

Pops Model, View and Projection matrices.

void cinder::gl::multModelMatrix ( const ci::mat4 &  mtx)
void cinder::gl::multViewMatrix ( const ci::mat4 &  mtx)
void cinder::gl::multProjectionMatrix ( const ci::mat4 &  mtx)
mat4 cinder::gl::getModelMatrix ( )
mat4 cinder::gl::getViewMatrix ( )
mat4 cinder::gl::getProjectionMatrix ( )
mat4 cinder::gl::getModelView ( )
mat4 cinder::gl::getModelViewProjection ( )
mat4 cinder::gl::calcViewMatrixInverse ( )
mat3 cinder::gl::calcModelMatrixInverseTranspose ( )
mat3 cinder::gl::calcNormalMatrix ( )
mat4 cinder::gl::calcViewportMatrix ( )
void cinder::gl::setMatricesWindowPersp ( int  screenWidth,
int  screenHeight,
float  fovDegrees = 60.0f,
float  nearPlane = 1.0f,
float  farPlane = 1000.0f,
bool  originUpperLeft = true 
)
void cinder::gl::setMatricesWindowPersp ( const ci::ivec2 &  screenSize,
float  fovDegrees = 60.0f,
float  nearPlane = 1.0f,
float  farPlane = 1000.0f,
bool  originUpperLeft = true 
)
void cinder::gl::setMatricesWindow ( int  screenWidth,
int  screenHeight,
bool  originUpperLeft = true 
)
void cinder::gl::setMatricesWindow ( const ci::ivec2 &  screenSize,
bool  originUpperLeft = true 
)
void cinder::gl::rotate ( const quat &  quat)
void cinder::gl::rotate ( float  angleRadians,
const ci::vec3 &  axis 
)

Rotates the Model matrix by angleRadians around the axis.

void cinder::gl::rotate ( float  angleRadians,
float  xAxis,
float  yAxis,
float  zAxis 
)

Rotates the Model matrix by angleRadians around the axis (x,y,z)

void cinder::gl::rotate ( float  zRadians)

Rotates the Model matrix by zRadians around the z-axis.

void cinder::gl::scale ( const ci::vec3 &  v)

Scales the Model matrix by v.

void cinder::gl::scale ( float  x,
float  y,
float  z 
)

Scales the Model matrix by (x,y, z)

void cinder::gl::scale ( const ci::vec2 &  v)

Scales the Model matrix by v.

void cinder::gl::scale ( float  x,
float  y 
)

Scales the Model matrix by (x,y, 1)

void cinder::gl::translate ( const ci::vec3 &  v)

Translates the Model matrix by v.

void cinder::gl::translate ( float  x,
float  y,
float  z 
)

Translates the Model matrix by (x,y,z )

void cinder::gl::translate ( const ci::vec2 &  v)

Translates the Model matrix by v.

void cinder::gl::translate ( float  x,
float  y 
)

Translates the Model matrix by (x,y)

vec3 cinder::gl::windowToObjectCoord ( const mat4 &  modelMatrix,
const vec2 &  coordinate,
float  z = 0.0f 
)

Returns the object space coordinate of the specified window coordinate, using the specified modelMatrix and the currently active view and projection matrices.

vec2 cinder::gl::objectToWindowCoord ( const mat4 &  modelMatrix,
const vec3 &  coordinate 
)

Returns the window coordinate of the specified world coordinate, using the specified modelMatrix and the currently active view and projection matrices.

vec3 cinder::gl::windowToObjectCoord ( const vec2 &  coordinate,
float  z = 0.0f 
)

Returns the object space coordinate of the specified window coordinate, using the currently active model, view and projection matrices.

vec2 cinder::gl::objectToWindowCoord ( const vec3 &  coordinate)

Returns the window coordinate of the specified world coordinate, using the currently active model, view and projection matrices.

vec3 cinder::gl::windowToWorldCoord ( const vec2 &  coordinate,
float  z = 0.0f 
)

Returns the world space coordinate of the specified window coordinate, using the currently active view and projection matrices.

vec2 cinder::gl::worldToWindowCoord ( const vec3 &  coordinate)

Returns the window coordinate of the specified world coordinate, using the currently active view and projection matrices.

void cinder::gl::begin ( GLenum  mode)
void cinder::gl::end ( )
void cinder::gl::bindBufferBase ( GLenum  target,
int  index,
BufferObjRef  buffer 
)
void cinder::gl::beginTransformFeedback ( GLenum  primitiveMode)
void cinder::gl::endTransformFeedback ( )
void cinder::gl::resumeTransformFeedback ( )
void cinder::gl::pauseTransformFeedback ( )
void cinder::gl::patchParameteri ( GLenum  pname,
GLint  value 
)

Specifies the parameters that will be used for patch primitives. Analogous to glPatchParameteri().

void cinder::gl::patchParameterfv ( GLenum  pname,
GLfloat *  value 
)

Specifies the parameters that will be used for patch primitives. Analogous to glPatchParameterfv().

void cinder::gl::color ( float  r,
float  g,
float  b 
)
void cinder::gl::color ( float  r,
float  g,
float  b,
float  a 
)
void cinder::gl::color ( const ci::Color c)
void cinder::gl::color ( const ci::ColorA c)
void cinder::gl::color ( const ci::Color8u c)
void cinder::gl::color ( const ci::ColorA8u c)
void cinder::gl::texCoord ( float  s,
float  t 
)
void cinder::gl::texCoord ( float  s,
float  t,
float  r 
)
void cinder::gl::texCoord ( float  s,
float  t,
float  r,
float  q 
)
void cinder::gl::texCoord ( const ci::vec2 &  v)
void cinder::gl::texCoord ( const ci::vec3 &  v)
void cinder::gl::texCoord ( const ci::vec4 &  v)
void cinder::gl::vertex ( float  x,
float  y 
)
void cinder::gl::vertex ( float  x,
float  y,
float  z 
)
void cinder::gl::vertex ( float  x,
float  y,
float  z,
float  w 
)
void cinder::gl::vertex ( const ci::vec2 &  v)
void cinder::gl::vertex ( const ci::vec3 &  v)
void cinder::gl::vertex ( const ci::vec4 &  v)
void cinder::gl::polygonMode ( GLenum  face,
GLenum  mode 
)

Sets the current polygon rasterization mode. face must be GL_FRONT_AND_BACK. GL_POINT, GL_LINE & GL_FILL are legal values for mode.

void cinder::gl::enableWireframe ( )

Enables wireframe drawing by setting the PolygonMode to GL_LINE.

void cinder::gl::disableWireframe ( )

Disables wireframe drawing.

bool cinder::gl::isWireframeEnabled ( )

Returns whether wirefrom drawing is enabled.

void cinder::gl::setWireframeEnabled ( bool  enable = true)

Toggles wireframe drawing according to enable.

void cinder::gl::lineWidth ( float  width)

Sets the width of rasterized lines to width. The initial value is 1. Analogous to glLineWidth().

void cinder::gl::pointSize ( float  size)

Specifies the rasterized diameter of points. If point size mode is disabled (via gl::disable GL_PROGRAM_POINT_SIZE), this value will be used to rasterize points. Otherwise, the value written to the shading language built-in variable gl_PointSize will be used. Analogous to glPointSize().

GLenum cinder::gl::toGl ( geom::Primitive  prim)

Converts a geom::Primitive to an OpenGL primitive mode( GL_TRIANGLES, GL_TRIANGLE_STRIP, etc )

geom::Primitive cinder::gl::toGeomPrimitive ( GLenum  prim)

Converts an OpenGL primitive mode( GL_TRIANGLES, GL_TRIANGLE_STRIP, etc ) to a geom::Primitive.

std::string cinder::gl::uniformSemanticToString ( UniformSemantic  uniformSemantic)

Converts a UniformSemantic to its name.

void cinder::gl::vertexAttribPointer ( GLuint  index,
GLint  size,
GLenum  type,
GLboolean  normalized,
GLsizei  stride,
const GLvoid *  pointer 
)

Analogous to glVertexAttribPointer.

void cinder::gl::vertexAttribIPointer ( GLuint  index,
GLint  size,
GLenum  type,
GLsizei  stride,
const GLvoid *  pointer 
)

Analogous to glVertexAttribIPointer.

void cinder::gl::enableVertexAttribArray ( GLuint  index)

Analogous to glEnableVertexAttribArray.

void cinder::gl::vertexAttrib1f ( GLuint  index,
float  v0 
)
void cinder::gl::vertexAttrib ( GLuint  index,
float  v0 
)
void cinder::gl::vertexAttrib2f ( GLuint  index,
float  v0,
float  v1 
)
void cinder::gl::vertexAttrib ( GLuint  index,
float  v0,
float  v1 
)
void cinder::gl::vertexAttrib3f ( GLuint  index,
float  v0,
float  v1,
float  v2 
)
void cinder::gl::vertexAttrib ( GLuint  index,
float  v0,
float  v1,
float  v2 
)
void cinder::gl::vertexAttrib4f ( GLuint  index,
float  v0,
float  v1,
float  v2,
float  v3 
)
void cinder::gl::vertexAttrib ( GLuint  index,
float  v0,
float  v1,
float  v2,
float  v3 
)
void cinder::gl::bindBuffer ( const BufferObjRef buffer)
void cinder::gl::bindBuffer ( GLenum  target,
GLuint  buffer 
)

Binds a named buffer object buffer to target. Analogous to glBindBuffer().

void cinder::gl::readBuffer ( GLenum  src)

Specifies a color buffer as the source for subsequent glReadPixels(), glCopyTexImage2D(), glCopyTexSubImage2D(), and glCopyTexSubImage3D() commands. Analogous to glReadBuffer().

void cinder::gl::drawBuffers ( GLsizei  num,
const GLenum *  bufs 
)

Specifies an array of buffers into which fragment color values or fragment data will be written for subsequent draw calls. Analogous to glDrawBuffers().

void cinder::gl::drawBuffer ( GLenum  dst)

Specifies a color buffer as the destination for subsequent draw calls. Analogous to glDrawBuffer(), and emulated on ES 3.

void cinder::gl::readPixels ( GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLenum  type,
GLvoid *  data 
)

Reads a block of pixels from the framebuffer. Analogous to glReadPixels().

void cinder::gl::dispatchCompute ( GLuint  numGroupsX,
GLuint  numGroupsY,
GLuint  numGroupsZ 
)

Launches one or more compute work groups. Analogous to glDispatchCompute().

void cinder::gl::memoryBarrier ( GLbitfield  barriers)

Defines a barrier ordering memory transactions. Analogous to glMemoryBarrier().

ivec3 cinder::gl::getMaxComputeWorkGroupCount ( )

Returns ivec3( GL_MAX_COMPUTE_WORK_GROUP_COUNT )

ivec3 cinder::gl::getMaxComputeWorkGroupSize ( )

Returns ivec3( GL_MAX_COMPUTE_WORK_GROUP_SIZE )

void cinder::gl::draw ( const svg::Doc svg)
void cinder::gl::drawSolidTriangle ( const vec2  pts[3])
void cinder::gl::drawStrokedTriangle ( const vec2 &  pt0,
const vec2 &  pt1,
const vec2 &  pt2 
)
Environment * cinder::gl::allocateEnvironmentCore ( )
Environment* cinder::gl::allocateEnvironmentEs ( )
std::ostream& cinder::gl::operator<< ( std::ostream &  os,
const Fbo rhs 
)
std::ostream& cinder::gl::operator<< ( std::ostream &  os,
const GlslProg rhs 
)
VaoRef cinder::gl::createVaoImplCore ( )
VaoRef cinder::gl::createVaoImplSoftware ( )