Qt 4.8
|
The QGLFramebufferObjectFormat class specifies the format of an OpenGL framebuffer object. More...
#include <qglframebufferobject.h>
Public Functions | |
QGLFramebufferObject::Attachment | attachment () const |
Returns the configuration of the depth and stencil buffers attached to a framebuffer object. More... | |
GLenum | internalTextureFormat () const |
Returns the internal format of a framebuffer object's texture or multisample framebuffer object's color buffer. More... | |
bool | mipmap () const |
Returns true if mipmapping is enabled. More... | |
bool | operator!= (const QGLFramebufferObjectFormat &other) const |
Returns false if all the options of this framebuffer object format are the same as other; otherwise returns true. More... | |
QGLFramebufferObjectFormat & | operator= (const QGLFramebufferObjectFormat &other) |
Assigns other to this object. More... | |
bool | operator== (const QGLFramebufferObjectFormat &other) const |
Returns true if all the options of this framebuffer object format are the same as other; otherwise returns false. More... | |
QGLFramebufferObjectFormat () | |
Creates a QGLFramebufferObjectFormat object for specifying the format of an OpenGL framebuffer object. More... | |
QGLFramebufferObjectFormat (const QGLFramebufferObjectFormat &other) | |
Constructs a copy of other. More... | |
int | samples () const |
Returns the number of samples per pixel if a framebuffer object is a multisample framebuffer object. More... | |
void | setAttachment (QGLFramebufferObject::Attachment attachment) |
Sets the attachment configuration of a framebuffer object to attachment. More... | |
void | setInternalTextureFormat (GLenum internalTextureFormat) |
Sets the internal format of a framebuffer object's texture or multisample framebuffer object's color buffer to internalTextureFormat. More... | |
void | setMipmap (bool enabled) |
Enables mipmapping if enabled is true; otherwise disables it. More... | |
void | setSamples (int samples) |
Sets the number of samples per pixel for a multisample framebuffer object to samples. More... | |
void | setTextureTarget (GLenum target) |
Sets the texture target of the texture attached to a framebuffer object to target. More... | |
GLenum | textureTarget () const |
Returns the texture target of the texture attached to a framebuffer object. More... | |
~QGLFramebufferObjectFormat () | |
Destroys the QGLFramebufferObjectFormat. More... | |
Private Functions | |
void | detach () |
Properties | |
QGLFramebufferObjectFormatPrivate * | d |
The QGLFramebufferObjectFormat class specifies the format of an OpenGL framebuffer object.
A framebuffer object has several characteristics:
Note that the desired attachments or number of samples per pixels might not be supported by the hardware driver. Call QGLFramebufferObject::format() after creating a QGLFramebufferObject to find the exact format that was used to create the frame buffer object.
Definition at line 140 of file qglframebufferobject.h.
QGLFramebufferObjectFormat::QGLFramebufferObjectFormat | ( | ) |
Creates a QGLFramebufferObjectFormat object for specifying the format of an OpenGL framebuffer object.
By default the format specifies a non-multisample framebuffer object with no attachments, texture target GL_TEXTURE_2D
, and internal format GL_RGBA8
. On OpenGL/ES systems, the default internal format is GL_RGBA
.
Definition at line 138 of file qglframebufferobject.cpp.
QGLFramebufferObjectFormat::QGLFramebufferObjectFormat | ( | const QGLFramebufferObjectFormat & | other | ) |
Constructs a copy of other.
Definition at line 147 of file qglframebufferobject.cpp.
QGLFramebufferObjectFormat::~QGLFramebufferObjectFormat | ( | ) |
Destroys the QGLFramebufferObjectFormat.
Definition at line 171 of file qglframebufferobject.cpp.
QGLFramebufferObject::Attachment QGLFramebufferObjectFormat::attachment | ( | ) | const |
Returns the configuration of the depth and stencil buffers attached to a framebuffer object.
The default is QGLFramebufferObject::NoAttachment.
Definition at line 263 of file qglframebufferobject.cpp.
Referenced by QGLFramebufferObject::QGLFramebufferObject(), and setAttachment().
|
private |
Definition at line 116 of file qglframebufferobject.cpp.
Referenced by internalTextureFormat(), setAttachment(), setInternalTextureFormat(), setMipmap(), setSamples(), and setTextureTarget().
GLenum QGLFramebufferObjectFormat::internalTextureFormat | ( | ) | const |
Returns the internal format of a framebuffer object's texture or multisample framebuffer object's color buffer.
The default is GL_RGBA8
on desktop OpenGL systems, and GL_RGBA
on OpenGL/ES systems.
Definition at line 313 of file qglframebufferobject.cpp.
Referenced by QGLFramebufferObject::QGLFramebufferObject(), QGLFBOGLPaintDevice::setFBO(), setInternalTextureFormat(), and ShaderEffectSource::updateBackbuffer().
bool QGLFramebufferObjectFormat::mipmap | ( | ) | const |
Returns true if mipmapping is enabled.
Definition at line 241 of file qglframebufferobject.cpp.
Referenced by QGLFramebufferObject::QGLFramebufferObject().
bool QGLFramebufferObjectFormat::operator!= | ( | const QGLFramebufferObjectFormat & | other | ) | const |
Returns false if all the options of this framebuffer object format are the same as other; otherwise returns true.
Definition at line 350 of file qglframebufferobject.cpp.
QGLFramebufferObjectFormat & QGLFramebufferObjectFormat::operator= | ( | const QGLFramebufferObjectFormat & | other | ) |
Assigns other to this object.
Definition at line 157 of file qglframebufferobject.cpp.
bool QGLFramebufferObjectFormat::operator== | ( | const QGLFramebufferObjectFormat & | other | ) | const |
Returns true if all the options of this framebuffer object format are the same as other; otherwise returns false.
Definition at line 338 of file qglframebufferobject.cpp.
int QGLFramebufferObjectFormat::samples | ( | ) | const |
Returns the number of samples per pixel if a framebuffer object is a multisample framebuffer object.
Otherwise, returns 0. The default value is 0.
Definition at line 203 of file qglframebufferobject.cpp.
Referenced by QGLWindowSurface::flush(), QGLFramebufferObject::QGLFramebufferObject(), setSamples(), and QGLWindowSurface::updateGeometry().
void QGLFramebufferObjectFormat::setAttachment | ( | QGLFramebufferObject::Attachment | attachment | ) |
Sets the attachment configuration of a framebuffer object to attachment.
Definition at line 251 of file qglframebufferobject.cpp.
Referenced by QGLPixmapData::paintEngine(), ShaderEffectSource::updateBackbuffer(), and QGLWindowSurface::updateGeometry().
void QGLFramebufferObjectFormat::setInternalTextureFormat | ( | GLenum | internalTextureFormat | ) |
Sets the internal format of a framebuffer object's texture or multisample framebuffer object's color buffer to internalTextureFormat.
Definition at line 299 of file qglframebufferobject.cpp.
Referenced by internalTextureFormat(), QGLPixmapData::paintEngine(), ShaderEffectSource::updateBackbuffer(), and QGLWindowSurface::updateGeometry().
void QGLFramebufferObjectFormat::setMipmap | ( | bool | enabled | ) |
Enables mipmapping if enabled is true; otherwise disables it.
Mipmapping is disabled by default.
If mipmapping is enabled, additional memory will be allocated for the mipmap levels. The mipmap levels can be updated by binding the texture and calling glGenerateMipmap(). Mipmapping cannot be enabled for multisampled framebuffer objects.
Definition at line 225 of file qglframebufferobject.cpp.
void QGLFramebufferObjectFormat::setSamples | ( | int | samples | ) |
Sets the number of samples per pixel for a multisample framebuffer object to samples.
The default sample count of 0 represents a regular non-multisample framebuffer object.
If the desired amount of samples per pixel is not supported by the hardware then the maximum number of samples per pixel will be used. Note that multisample framebuffer objects can not be bound as textures. Also, the GL_EXT_framebuffer_multisample
extension is required to create a framebuffer with more than one sample per pixel.
Definition at line 190 of file qglframebufferobject.cpp.
Referenced by QGLPixmapData::paintEngine(), and QGLWindowSurface::updateGeometry().
void QGLFramebufferObjectFormat::setTextureTarget | ( | GLenum | target | ) |
Sets the texture target of the texture attached to a framebuffer object to target.
Ignored for multisample framebuffer objects.
Definition at line 274 of file qglframebufferobject.cpp.
Referenced by internalTextureFormat(), and QGLWindowSurface::updateGeometry().
GLenum QGLFramebufferObjectFormat::textureTarget | ( | ) | const |
Returns the texture target of the texture attached to a framebuffer object.
Ignored for multisample framebuffer objects. The default is GL_TEXTURE_2D
.
Definition at line 287 of file qglframebufferobject.cpp.
Referenced by QGLFramebufferObject::QGLFramebufferObject().
|
private |
Definition at line 172 of file qglframebufferobject.h.
Referenced by attachment(), detach(), internalTextureFormat(), mipmap(), operator=(), operator==(), QGLFramebufferObjectFormat(), samples(), setAttachment(), setInternalTextureFormat(), setMipmap(), setSamples(), setTextureTarget(), textureTarget(), and ~QGLFramebufferObjectFormat().