OpenSceneGraph
Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
osg::GLBeginEndAdapter Class Reference

A class adapting OpenGL 1.0 glBegin()/glEnd() style code to vertex array based code. More...

Collaboration diagram for osg::GLBeginEndAdapter:
Collaboration graph
[legend]

Public Types

enum  MatrixMode { APPLY_LOCAL_MATRICES_TO_VERTICES, APPLY_LOCAL_MATRICES_TO_MODELVIEW }
 

Public Member Functions

 GLBeginEndAdapter (State *state=0)
 
void setState (State *state)
 
StategetState ()
 
const StategetState () const
 
void setMatrixMode (MatrixMode mode)
 
MatrixMode setMatrixMode () const
 
void PushMatrix ()
 
void PopMatrix ()
 
void LoadIdentity ()
 
void LoadMatrixd (const GLdouble *m)
 
void MultMatrixd (const GLdouble *m)
 
void Translatef (GLfloat x, GLfloat y, GLfloat z)
 
void Scalef (GLfloat x, GLfloat y, GLfloat z)
 
void Rotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
 
void Translated (GLdouble x, GLdouble y, GLdouble z)
 
void Scaled (GLdouble x, GLdouble y, GLdouble z)
 
void Rotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
 
void Vertex3f (GLfloat x, GLfloat y, GLfloat z)
 
void Vertex3fv (const GLfloat *v)
 
void Vertex3dv (GLdouble x, GLdouble y, GLdouble z)
 
void Vertex3dv (const GLdouble *v)
 
void Color4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
 
void Color3fv (const GLfloat *c)
 
void Color4fv (const GLfloat *c)
 
void Color4ubv (const GLubyte *c)
 
void Normal3f (GLfloat x, GLfloat y, GLfloat z)
 
void Normal3fv (const GLfloat *n)
 
void TexCoord1f (GLfloat x)
 
void TexCoord1fv (const GLfloat *tc)
 
void TexCoord2f (GLfloat x, GLfloat y)
 
void TexCoord2fv (const GLfloat *tc)
 
void TexCoord3f (GLfloat x, GLfloat y, GLfloat z)
 
void TexCoord3fv (const GLfloat *tc)
 
void TexCoord4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 
void TexCoord4fv (const GLfloat *tc)
 
void MultiTexCoord1f (GLenum target, GLfloat x)
 
void MultiTexCoord1fv (GLenum target, const GLfloat *tc)
 
void MultiTexCoord2f (GLenum target, GLfloat x, GLfloat y)
 
void MultiTexCoord2fv (GLenum target, const GLfloat *tc)
 
void MultiTexCoord3f (GLenum target, GLfloat x, GLfloat y, GLfloat z)
 
void MultiTexCoord3fv (GLenum target, const GLfloat *tc)
 
void MultiTexCoord4f (GLenum target, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 
void MultiTexCoord4fv (GLenum target, const GLfloat *tc)
 
void VertexAttrib1f (GLuint unit, GLfloat x)
 
void VertexAttrib1fv (GLuint unit, const GLfloat *tc)
 
void VertexAttrib2f (GLuint unit, GLfloat x, GLfloat y)
 
void VertexAttrib2fv (GLuint unit, const GLfloat *tc)
 
void VertexAttrib3f (GLuint unit, GLfloat x, GLfloat y, GLfloat z)
 
void VertexAttrib3fv (GLuint unit, const GLfloat *tc)
 
void VertexAttrib4f (GLuint unit, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
 
void VertexAttrib4fv (GLuint unit, const GLfloat *tc)
 
void Begin (GLenum mode)
 
void End ()
 
void reset ()
 

Protected Types

typedef std::list< MatrixdMatrixStack
 
typedef std::vector< bool > AssignedList
 
typedef std::vector< osg::Vec4fVertexList
 
typedef std::vector< osg::ref_ptr< Vec4Array > > VertexArrayList
 

Protected Attributes

State_state
 
MatrixMode _mode
 
MatrixStack _matrixStack
 
bool _normalAssigned
 
osg::Vec3f _normal
 
bool _colorAssigned
 
osg::Vec4f _color
 
bool _overallNormalAssigned
 
bool _overallColorAssigned
 
osg::Vec3f _overallNormal
 
osg::Vec4f _overallColor
 
AssignedList _texCoordAssignedList
 
VertexList _texCoordList
 
AssignedList _vertexAttribAssignedList
 
VertexList _vertexAttribList
 
GLenum _primitiveMode
 
osg::ref_ptr< osg::Vec3Array_vertices
 
osg::ref_ptr< osg::Vec3Array_normals
 
osg::ref_ptr< osg::Vec4Array_colors
 
VertexArrayList _texCoordsList
 
VertexArrayList _vertexAttribsList
 

Detailed Description

A class adapting OpenGL 1.0 glBegin()/glEnd() style code to vertex array based code.


The documentation for this class was generated from the following file: