GraphicsContext Class
(Qt3DRender::Render::GraphicsContext)Public Functions
| GraphicsContext() | |
| ~GraphicsContext() | |
| void | activateGLHelper() |
| void | activateRenderTarget(const Qt3DCore::QNodeId id, const AttachmentPack &attachments, GLuint defaultFboId) |
| bool | activateShader(ProgramDNA shaderDNA) |
| int | activateTexture(TextureScope scope, GLTexture *tex, int onUnit = -1) |
| GLuint | activeFBO() const |
| Material * | activeMaterial() const |
| QOpenGLShaderProgram * | activeShader() const |
| void | alphaTest(GLenum mode1, GLenum mode2) |
| bool | beginDrawing(QSurface *surface) |
| void | bindBufferBase(GLenum target, GLuint bindingIndex, GLuint buffer) |
| void | bindFragOutputs(GLuint shader, const QHash<QString, int> &outputs) |
| void | bindFramebuffer(GLuint fbo, GraphicsHelperInterface::FBOBindMode mode) |
| void | bindShaderStorageBlock(GLuint programId, GLuint shaderStorageBlockIndex, GLuint shaderStorageBlockBinding) |
| void | bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding) |
| void | blendEquation(GLenum mode) |
| void | blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha) |
| void | blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor) |
| GLuint | boundFrameBufferObject() |
| void | buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer) |
| void | clearBackBuffer(QClearBuffers::BufferTypeFlags buffers) |
| void | clearBufferf(GLint drawbuffer, const QVector4D &values) |
| void | clearColor(const QColor &color) |
| void | clearDepthValue(float depth) |
| void | clearStencilValue(int stencil) |
| const GraphicsApiFilterData * | contextInfo() const |
| QOpenGLShaderProgram * | createShaderProgram(Shader *shaderNode) |
| RenderStateSet * | currentStateSet() const |
| void | deactivateTexture(GLTexture *tex) |
| GLuint | defaultFBO() const |
| void | depthMask(GLenum mode) |
| void | depthTest(GLenum mode) |
| void | disableClipPlane(int clipPlane) |
| void | disablePrimitiveRestart() |
| void | disablei(GLenum cap, GLuint index) |
| void | dispatchCompute(int x, int y, int z) |
| void | doneCurrent() |
| QByteArray | downloadBufferContent(Buffer *buffer) |
| void | drawArrays(GLenum primitiveType, GLint first, GLsizei count) |
| void | drawArraysIndirect(GLenum mode, void *indirect) |
| void | drawArraysInstanced(GLenum primitiveType, GLint first, GLsizei count, GLsizei instances) |
| void | drawArraysInstancedBaseInstance(GLenum primitiveType, GLint first, GLsizei count, GLsizei instances, GLsizei baseinstance) |
| void | drawElements(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLint baseVertex) |
| void | drawElementsIndirect(GLenum mode, GLenum type, void *indirect) |
| void | drawElementsInstancedBaseVertexBaseInstance(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex, GLint baseInstance) |
| void | enableClipPlane(int clipPlane) |
| void | enablePrimitiveRestart(int restartIndex) |
| void | enablei(GLenum cap, GLuint index) |
| void | endDrawing(bool swapBuffers) |
| void | executeCommand(const RenderCommand *command) |
| void | frontFace(GLenum mode) |
| GLBuffer * | glBufferForRenderBuffer(Buffer *buf) |
| bool | hasGLBufferForBuffer(Buffer *buffer) |
| bool | hasValidGLHelper() const |
| int | id() const |
| void | introspectShaderInterface(Shader *shader, QOpenGLShaderProgram *shaderProgram) |
| bool | isInitialized() const |
| void | loadShader(Shader *shader, ShaderManager *manager) |
| bool | makeCurrent(QSurface *surface) |
| char * | mapBuffer(GLenum target) |
| GLint | maxClipPlaneCount() |
| void | memoryBarrier(QMemoryBarrier::Operations barriers) |
| QOpenGLContext * | openGLContext() |
| void | pointSize(bool programmable, GLfloat value) |
| QImage | readFramebuffer(QSize size) |
| void | releaseBuffer(Qt3DCore::QNodeId bufferId) |
| void | releaseOpenGL() |
| void | removeShaderProgramReference(Shader *shaderNode) |
| QSize | renderTargetSize(const QSize &surfaceSize) const |
| void | setActiveMaterial(Material *rmat) |
| void | setAlphaCoverageEnabled(bool enabled) |
| void | setClipPlane(int clipPlane, const QVector3D &normal, float distance) |
| void | setCurrentStateSet(RenderStateSet *ss) |
| void | setMSAAEnabled(bool enabled) |
| void | setOpenGLContext(QOpenGLContext *ctx) |
| bool | setParameters(ShaderParameterPack ¶meterPack) |
| void | setRenderer(Renderer *renderer) |
| void | setSeamlessCubemap(bool enable) |
| void | setVerticesPerPatch(GLint verticesPerPatch) |
| void | setViewport(const QRectF &viewport, const QSize &surfaceSize) |
| void | specifyAttribute(const Attribute *attribute, Buffer *buffer, int attributeLocation) |
| void | specifyIndices(Buffer *buffer) |
| bool | supportsDrawBuffersBlend() const |
| bool | supportsVAO() const |
| GLboolean | unmapBuffer(GLenum target) |
| void | updateBuffer(Buffer *buffer) |
| QRectF | viewport() const |
Static Public Members
| GLuint | byteSizeFromType(GLint type) |
| GLint | elementType(GLint type) |
| GLint | glDataTypeFromAttributeDataType(QAttribute::VertexBaseType dataType) |
| GLint | tupleSizeFromType(GLint type) |
Member Function Documentation
GraphicsContext::GraphicsContext()
Default constructs an instance of GraphicsContext.
GraphicsContext::~GraphicsContext()
Destroys the instance of GraphicsContext.
void GraphicsContext::activateGLHelper()
void GraphicsContext::activateRenderTarget(const Qt3DCore::QNodeId id, const AttachmentPack &attachments, GLuint defaultFboId)
bool GraphicsContext::activateShader(ProgramDNA shaderDNA)
int GraphicsContext::activateTexture(TextureScope scope, GLTexture *tex, int onUnit = -1)
GLuint GraphicsContext::activeFBO() const
Material *GraphicsContext::activeMaterial() const
See also setActiveMaterial().
QOpenGLShaderProgram *GraphicsContext::activeShader() const
void GraphicsContext::alphaTest(GLenum mode1, GLenum mode2)
bool GraphicsContext::beginDrawing(QSurface *surface)
void GraphicsContext::bindBufferBase(GLenum target, GLuint bindingIndex, GLuint buffer)
void GraphicsContext::bindFragOutputs(GLuint shader, const QHash<QString, int> &outputs)
void GraphicsContext::bindFramebuffer(GLuint fbo, GraphicsHelperInterface::FBOBindMode mode)
void GraphicsContext::bindShaderStorageBlock(GLuint programId, GLuint shaderStorageBlockIndex, GLuint shaderStorageBlockBinding)
void GraphicsContext::bindUniformBlock(GLuint programId, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
void GraphicsContext::blendEquation(GLenum mode)
void GraphicsContext::blendFuncSeparatei(GLuint buf, GLenum sRGB, GLenum dRGB, GLenum sAlpha, GLenum dAlpha)
void GraphicsContext::blendFunci(GLuint buf, GLenum sfactor, GLenum dfactor)
GLuint GraphicsContext::boundFrameBufferObject()
void GraphicsContext::buildUniformBuffer(const QVariant &v, const ShaderUniform &description, QByteArray &buffer)
[static] GLuint GraphicsContext::byteSizeFromType(GLint type)
void GraphicsContext::clearBackBuffer(QClearBuffers::BufferTypeFlags buffers)
void GraphicsContext::clearBufferf(GLint drawbuffer, const QVector4D &values)
void GraphicsContext::clearColor(const QColor &color)
void GraphicsContext::clearDepthValue(float depth)
void GraphicsContext::clearStencilValue(int stencil)
const GraphicsApiFilterData *GraphicsContext::contextInfo() const
QOpenGLShaderProgram *GraphicsContext::createShaderProgram(Shader *shaderNode)
RenderStateSet *GraphicsContext::currentStateSet() const
See also setCurrentStateSet().
void GraphicsContext::deactivateTexture(GLTexture *tex)
GLuint GraphicsContext::defaultFBO() const
void GraphicsContext::depthMask(GLenum mode)
void GraphicsContext::depthTest(GLenum mode)
void GraphicsContext::disableClipPlane(int clipPlane)
void GraphicsContext::disablePrimitiveRestart()
void GraphicsContext::disablei(GLenum cap, GLuint index)
void GraphicsContext::dispatchCompute(int x, int y, int z)
void GraphicsContext::doneCurrent()
QByteArray GraphicsContext::downloadBufferContent(Buffer *buffer)
void GraphicsContext::drawArrays(GLenum primitiveType, GLint first, GLsizei count)
void GraphicsContext::drawArraysIndirect(GLenum mode, void *indirect)
void GraphicsContext::drawArraysInstanced(GLenum primitiveType, GLint first, GLsizei count, GLsizei instances)
void GraphicsContext::drawArraysInstancedBaseInstance(GLenum primitiveType, GLint first, GLsizei count, GLsizei instances, GLsizei baseinstance)
void GraphicsContext::drawElements(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLint baseVertex)
void GraphicsContext::drawElementsIndirect(GLenum mode, GLenum type, void *indirect)
void GraphicsContext::drawElementsInstancedBaseVertexBaseInstance(GLenum primitiveType, GLsizei primitiveCount, GLint indexType, void *indices, GLsizei instances, GLint baseVertex, GLint baseInstance)
[static] GLint GraphicsContext::elementType(GLint type)
void GraphicsContext::enableClipPlane(int clipPlane)
void GraphicsContext::enablePrimitiveRestart(int restartIndex)
void GraphicsContext::enablei(GLenum cap, GLuint index)
void GraphicsContext::endDrawing(bool swapBuffers)
void GraphicsContext::executeCommand(const RenderCommand *command)
void GraphicsContext::frontFace(GLenum mode)
GLBuffer *GraphicsContext::glBufferForRenderBuffer(Buffer *buf)
[static] GLint GraphicsContext::glDataTypeFromAttributeDataType(QAttribute::VertexBaseType dataType)
bool GraphicsContext::hasGLBufferForBuffer(Buffer *buffer)
bool GraphicsContext::hasValidGLHelper() const
int GraphicsContext::id() const
void GraphicsContext::introspectShaderInterface(Shader *shader, QOpenGLShaderProgram *shaderProgram)
bool GraphicsContext::isInitialized() const
void GraphicsContext::loadShader(Shader *shader, ShaderManager *manager)
bool GraphicsContext::makeCurrent(QSurface *surface)
char *GraphicsContext::mapBuffer(GLenum target)
GLint GraphicsContext::maxClipPlaneCount()
void GraphicsContext::memoryBarrier(QMemoryBarrier::Operations barriers)
QOpenGLContext *GraphicsContext::openGLContext()
See also setOpenGLContext().
void GraphicsContext::pointSize(bool programmable, GLfloat value)
QImage GraphicsContext::readFramebuffer(QSize size)
void GraphicsContext::releaseBuffer(Qt3DCore::QNodeId bufferId)
void GraphicsContext::releaseOpenGL()
void GraphicsContext::removeShaderProgramReference(Shader *shaderNode)
QSize GraphicsContext::renderTargetSize(const QSize &surfaceSize) const
void GraphicsContext::setActiveMaterial(Material *rmat)
See also activeMaterial().
void GraphicsContext::setAlphaCoverageEnabled(bool enabled)
void GraphicsContext::setClipPlane(int clipPlane, const QVector3D &normal, float distance)
void GraphicsContext::setCurrentStateSet(RenderStateSet *ss)
See also currentStateSet().
void GraphicsContext::setMSAAEnabled(bool enabled)
void GraphicsContext::setOpenGLContext(QOpenGLContext *ctx)
See also openGLContext().
bool GraphicsContext::setParameters(ShaderParameterPack ¶meterPack)
void GraphicsContext::setRenderer(Renderer *renderer)
void GraphicsContext::setSeamlessCubemap(bool enable)
void GraphicsContext::setVerticesPerPatch(GLint verticesPerPatch)
void GraphicsContext::setViewport(const QRectF &viewport, const QSize &surfaceSize)
See also viewport().
void GraphicsContext::specifyAttribute(const Attribute *attribute, Buffer *buffer, int attributeLocation)
void GraphicsContext::specifyIndices(Buffer *buffer)
bool GraphicsContext::supportsDrawBuffersBlend() const
bool GraphicsContext::supportsVAO() const
[static] GLint GraphicsContext::tupleSizeFromType(GLint type)
GLboolean GraphicsContext::unmapBuffer(GLenum target)
void GraphicsContext::updateBuffer(Buffer *buffer)
QRectF GraphicsContext::viewport() const
See also setViewport().