18 #ifndef ION_GFX_OPENGLOBJECTS_H_
19 #define ION_GFX_OPENGLOBJECTS_H_
52 value(0.f, 0.f, 0.f, 1.f),
100 template <
typename T>
124 template <
typename T>
147 math::VectorBase2f, math::VectorBase3f, math::VectorBase4f,
148 math::VectorBase2i, math::VectorBase3i, math::VectorBase4i,
149 math::VectorBase2ui, math::VectorBase3ui, math::VectorBase4ui,
207 template <
typename T>
236 template <
typename T>
267 template <
typename T>
270 :
type(static_cast<GLenum>(-1)),
285 template <
typename T>
288 :
type(static_cast<GLenum>(-1)),
289 status(static_cast<GLenum>(-1)),
303 template <
typename T>
306 :
target(GL_TRANSFORM_FEEDBACK_BUFFER),
308 status(static_cast<GLenum>(-1)),
323 template <
typename T>
344 target(static_cast<GLenum>(-1))
376 template <
typename T>
407 #endif // ION_GFX_OPENGLOBJECTS_H_
GLint size
The number of components in the varying.
GLenum condition
The sync object condition.
uint64 duration
Duration data, if used as a begin/end query pair.
A ShaderInfo corresponds to an OpenGL Shader Object.
GLboolean delete_status
The delete, link, and validate status.
A SamplerInfo corresponds to an OpenGL Sampler Object.
std::vector< GLint > array_indices
The attribute's array locations.
GLenum min_filter
The filter modes of the sampler.
GLvoid * mapped_data
The data pointer of the buffer if it is mapped, or NULL.
GLuint fragment_shader
The OpenGL id of the fragment shader of the program.
math::Vector4f value
The value of float and vec[2-4] attributes.
GLfloat min_lod
The min and max LOD of the sampler.
std::vector< Attribute > attributes
The attribute index of an attribute is its index in the vector.
GLuint level
The mipmap level of the texture object if one is attached.
GLint size
The number of components in the attribute.
GLsizei multisample_samples
An attribute to a vertex shader.
GLboolean delete_status
The status of the shader.
GLenum wrap_r
The wrap modes of the sampler.
Mode mode
The usage mode of this timer query.
GLenum min_filter
The filter modes of the texture.
uint64 timestamp
Timestamp data, if used as a query counter or begin query.
Matrix< 3, float > Matrix3f
A SyncInfo corresponds to an OpenGL Sync Object.
GLbitfield flags
The sync object flags.
std::string info_log
The latest info log of the program.
GLuint vertex_shader
The OpenGL id of the vertex shader of the program.
GLenum cube_face
The cube map face of the texture if the attachment is a cube map texture object.
Unused, so no known mode yet.
GLenum type
The type of the attribute, one of GL_FLOAT, GL_FLOAT_VEC2, GL_FLOAT_VEC3, GL_FLOAT_VEC4, GL_FLOAT_MAT2, GL_FLOAT_MAT3, or GL_FLOAT_MAT4.
Attachment color0
Attachments.
GLenum type
The type of the attachment, one of GL_RENDERBUFFER, GL_TEXTURE, or if no image is attached...
GLboolean normalized
Whether the attribute data will be normalized when sent to OpenGL.
GLsizei red_size
The size in bits of each channel in the renderbuffer's data stores.
std::vector< GLint > array_indices
The varying's array locations.
Is active, in use for begin/end query.
GLboolean validate_status
GLuint size
The number of values in each component of each element of the data array, e.g., a vec3 has size 3...
GLint index
The attribute index.
GLenum type
The type of the varying, one of GL_FLOAT, GL_FLOAT_VEC2, GL_FLOAT_VEC3, GL_FLOAT_VEC4, GL_FLOAT_MAT2, GL_FLOAT_MAT3, or GL_FLOAT_MAT4.
A TimerInfo corresponds to an OpenGL Timer Query Object.
GLenum status
The sync object status.
Is used as a query counter.
GLuint samples
Texture samples.
bool is_data_available
Is timestamp or duration available.
The Matrix class defines a square N-dimensional matrix.
GLboolean fixed_sample_locations
GLenum wrap_r
The wrap modes of the texture.
GLfloat max_anisotropy
The max anisotropy of the sampler.
GLenum target
The texture target.
The Variant class is similar to boost::variant.
GLsizei width
The dimensions of the renderbuffer.
GLenum usage
The usage pattern, one of GL_STREAM_DRAW, GL_STATIC_DRAW, or GL_DYNAMIC_DRAW.
A RenderbufferInfo corresponds to an OpenGL Renderbuffer Object.
GLenum type
The type of the attribute values in the data array.
GLuint divisor
The rate at which new attributes are presented to the vertex shader.
GLuint stride
The number of bytes between successive elements in the data array.
A ProgramInfo corresponds to an OpenGL Program Object.
GLint index
The varying index.
GLenum internal_format
The internal format of the renderbuffer.
std::vector< Varying > varyings
GLboolean enabled
Whether the attribute is enabled.
GLenum type
The sync object type.
std::string name
The name of the attribute in the program.
GLuint buffer
The OpenGL name of the array buffer when the attribute pointer was set.
Matrix< 2, float > Matrix2f
Dimension- and type-specific typedefs.
GLenum compare_func
The comparison function and mode of the sampler.
std::string info_log
The latest info log of the shader.
GLenum type
The shader type, either GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
A BufferInfo corresponds to an OpenGL Framebuffer Object.
GLsizeiptr size
The number of bytes of buffer data.
GLenum swizzle_r
The swizzle modes of the texture.
A BufferInfo corresponds to an OpenGL Buffer Object.
GLvoid * pointer
The value of the attribute pointer.
std::vector< Uniform > uniforms
GLfloat min_lod
The min and max LOD of the texture.
std::vector< Attribute > attributes
The attributes, uniforms and varyings used in the program.
The below structs correspond to OpenGL "objects." For example, a BufferObject corresponds to an OpenG...
A TextureInfo corresponds to an OpenGL Texture Object.
GLuint value
The id of either the renderbuffer or texture bound to the attachment, or 0 if neither is bound...
std::string source
The source of the shader as a string.
GLenum compare_func
The comparison function and mode of the texture.
std::string name
The name of the varying in the program.
A varying to a fragment shader.
GLfloat max_anisotropy
The max anisotropy of the texture.