Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QOpenGLFramebufferObjectPrivate Class Reference

#include <qopenglframebufferobject_p.h>

+ Collaboration diagram for QOpenGLFramebufferObjectPrivate:

Classes

struct  ColorAttachment
 

Public Member Functions

 QOpenGLFramebufferObjectPrivate ()
 
 ~QOpenGLFramebufferObjectPrivate ()
 
void init (QOpenGLFramebufferObject *q, const QSize &size, QOpenGLFramebufferObject::Attachment attachment, GLenum texture_target, GLenum internal_format, GLint samples=0, bool mipmap=false)
 
void initTexture (int idx)
 
void initColorBuffer (int idx, GLint *samples)
 
void initDepthStencilAttachments (QOpenGLContext *ctx, QOpenGLFramebufferObject::Attachment attachment)
 
bool checkFramebufferStatus (QOpenGLContext *ctx) const
 
GLuint fbo () const
 

Public Attributes

QOpenGLSharedResourceGuardfbo_guard
 
QOpenGLSharedResourceGuarddepth_buffer_guard
 
QOpenGLSharedResourceGuardstencil_buffer_guard
 
GLenum target
 
QSize dsSize
 
QOpenGLFramebufferObjectFormat format
 
int requestedSamples
 
uint valid: 1
 
QOpenGLFramebufferObject::Attachment fbo_attachment
 
QOpenGLExtensions funcs
 
QVarLengthArray< ColorAttachment, 8 > colorAttachments
 

Detailed Description

Definition at line 73 of file qopenglframebufferobject_p.h.

Constructor & Destructor Documentation

◆ QOpenGLFramebufferObjectPrivate()

QOpenGLFramebufferObjectPrivate::QOpenGLFramebufferObjectPrivate ( )
inline

Definition at line 76 of file qopenglframebufferobject_p.h.

◆ ~QOpenGLFramebufferObjectPrivate()

QOpenGLFramebufferObjectPrivate::~QOpenGLFramebufferObjectPrivate ( )
inline

Definition at line 79 of file qopenglframebufferobject_p.h.

Member Function Documentation

◆ checkFramebufferStatus()

bool QOpenGLFramebufferObjectPrivate::checkFramebufferStatus ( QOpenGLContext * ctx) const

Definition at line 391 of file qopenglframebufferobject.cpp.

References GL_FRAMEBUFFER, GL_FRAMEBUFFER_COMPLETE, GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT, GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER, GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT, GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE, GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER, GL_FRAMEBUFFER_UNSUPPORTED, GLenum(), and qDebug.

Referenced by initColorBuffer(), initDepthStencilAttachments(), and initTexture().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fbo()

GLuint QOpenGLFramebufferObjectPrivate::fbo ( ) const
inline

Definition at line 111 of file qopenglframebufferobject_p.h.

References fbo_guard, and QOpenGLSharedResourceGuard::id().

Referenced by Q_TRACE_INSTRUMENT().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init()

void QOpenGLFramebufferObjectPrivate::init ( QOpenGLFramebufferObject * q,
const QSize & size,
QOpenGLFramebufferObject::Attachment attachment,
GLenum texture_target,
GLenum internal_format,
GLint samples = 0,
bool mipmap = false )

◆ initColorBuffer()

void QOpenGLFramebufferObjectPrivate::initColorBuffer ( int idx,
GLint * samples )

◆ initDepthStencilAttachments()

void QOpenGLFramebufferObjectPrivate::initDepthStencilAttachments ( QOpenGLContext * ctx,
QOpenGLFramebufferObject::Attachment attachment )

◆ initTexture()

void QOpenGLFramebufferObjectPrivate::initTexture ( int idx)

Definition at line 530 of file qopenglframebufferobject.cpp.

References checkFramebufferStatus(), colorAttachments, QOpenGLContext::currentContext(), funcs, GL_CLAMP_TO_EDGE, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER, GL_HALF_FLOAT, GL_RGB10, GL_RGB10_A2, GL_RGB16, GL_RGB16F, GL_RGB32F, GL_RGB8, GL_RGBA, GL_RGBA16, GL_RGBA16F, GL_UNSIGNED_BYTE, GL_UNSIGNED_INT_2_10_10_10_REV, QOpenGLFunctions::glBindTexture(), QOpenGLFunctions::glDeleteTextures(), QOpenGLFunctions::glFramebufferTexture2D(), QOpenGLFunctions::glGenTextures(), QOpenGLFunctions::glTexImage2D(), QOpenGLFunctions::glTexParameteri(), GLuint, qMax(), QT_CHECK_GLERROR, and valid.

Referenced by Q_TRACE_INSTRUMENT().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ colorAttachments

QVarLengthArray<ColorAttachment, 8> QOpenGLFramebufferObjectPrivate::colorAttachments

Definition at line 109 of file qopenglframebufferobject_p.h.

Referenced by initColorBuffer(), initTexture(), and Q_TRACE_INSTRUMENT().

◆ depth_buffer_guard

QOpenGLSharedResourceGuard* QOpenGLFramebufferObjectPrivate::depth_buffer_guard

Definition at line 91 of file qopenglframebufferobject_p.h.

Referenced by initDepthStencilAttachments().

◆ dsSize

QSize QOpenGLFramebufferObjectPrivate::dsSize

Definition at line 94 of file qopenglframebufferobject_p.h.

Referenced by initDepthStencilAttachments(), and Q_TRACE_INSTRUMENT().

◆ fbo_attachment

QOpenGLFramebufferObject::Attachment QOpenGLFramebufferObjectPrivate::fbo_attachment

Definition at line 98 of file qopenglframebufferobject_p.h.

Referenced by initDepthStencilAttachments().

◆ fbo_guard

QOpenGLSharedResourceGuard* QOpenGLFramebufferObjectPrivate::fbo_guard

Definition at line 90 of file qopenglframebufferobject_p.h.

Referenced by fbo(), and Q_TRACE_INSTRUMENT().

◆ format

QOpenGLFramebufferObjectFormat QOpenGLFramebufferObjectPrivate::format

Definition at line 95 of file qopenglframebufferobject_p.h.

◆ funcs

QOpenGLExtensions QOpenGLFramebufferObjectPrivate::funcs

◆ requestedSamples

int QOpenGLFramebufferObjectPrivate::requestedSamples

Definition at line 96 of file qopenglframebufferobject_p.h.

Referenced by initDepthStencilAttachments(), and Q_TRACE_INSTRUMENT().

◆ stencil_buffer_guard

QOpenGLSharedResourceGuard* QOpenGLFramebufferObjectPrivate::stencil_buffer_guard

Definition at line 92 of file qopenglframebufferobject_p.h.

Referenced by initDepthStencilAttachments().

◆ target

GLenum QOpenGLFramebufferObjectPrivate::target

Definition at line 93 of file qopenglframebufferobject_p.h.

◆ valid

uint QOpenGLFramebufferObjectPrivate::valid

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