- Qt 6.4
- Qt 3D
- C++ Classes
- Qt3DRender
- QBlendEquationArguments
- Qt 6.4.2 Reference Documentation

# QBlendEquationArguments Class

class Qt3DRender::QBlendEquationArguments

Encapsulates blending information: specifies how the incoming values (what's going to be drawn) are going to affect the existing values (what is already drawn). More...

Header: | #include <QBlendEquationArguments>
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: | QT += 3drender
Since: | Qt 5.5
Instantiated By: | BlendEquationArguments
Inherits: | Qt3DRender::QRenderState

- List of all members, including inherited members

## Public Types

enum | Blending { Zero, One, SourceColor, SourceAlpha, Source1Alpha, …, OneMinusSource1Color0 }

## Properties

- bufferIndex : int
- destinationAlpha : Blending
- destinationRgb : Blending

- sourceAlpha : Blending
- sourceRgb : Blending

## Public Functions

| QBlendEquationArguments(Qt3DCore::QNode *parent = nullptr)
int | bufferIndex() const
Qt3DRender::QBlendEquationArguments::Blending | destinationAlpha() const
Qt3DRender::QBlendEquationArguments::Blending | destinationRgb() const
Qt3DRender::QBlendEquationArguments::Blending | sourceAlpha() const
Qt3DRender::QBlendEquationArguments::Blending | sourceRgb() const

## Public Slots

void | setBufferIndex(int index)
void | setDestinationAlpha(Qt3DRender::QBlendEquationArguments::Blending destinationAlpha)
void | setDestinationRgb(Qt3DRender::QBlendEquationArguments::Blending destinationRgb)
void | setDestinationRgba(Qt3DRender::QBlendEquationArguments::Blending destinationRgba)
void | setSourceAlpha(Qt3DRender::QBlendEquationArguments::Blending sourceAlpha)
void | setSourceRgb(Qt3DRender::QBlendEquationArguments::Blending sourceRgb)
void | setSourceRgba(Qt3DRender::QBlendEquationArguments::Blending sourceRgba)

## Signals

void | bufferIndexChanged(int index)
void | destinationAlphaChanged(Qt3DRender::QBlendEquationArguments::Blending destinationAlpha)
void | destinationRgbChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgb)
void | destinationRgbaChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgba)
void | sourceAlphaChanged(Qt3DRender::QBlendEquationArguments::Blending sourceAlpha)
void | sourceRgbChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgb)
void | sourceRgbaChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgba)

## Detailed Description

OpenGL pre-3.0: Set the same blend state for all draw buffers (one QBlendEquationArguments) OpenGL 3.0-pre4.0: Set the same blend state for all draw buffers, but can disable blending for particular buffers (one QBlendEquationArguments for setting glBlendFunc, n QBlendEquationArgumentss for enabling/disabling Draw Buffers) OpenGL 4.0+: Can set blend state individually for each draw buffer.

## Member Type Documentation

### enum QBlendEquationArguments::Blending

Constant | Value | Description
--- | --- | ---
`Qt3DRender::QBlendEquationArguments::Zero` | `0` | GL_ZERO
`Qt3DRender::QBlendEquationArguments::One` | `1` | GL_ONE
`Qt3DRender::QBlendEquationArguments::SourceColor` | `0x0300` | GL_SRC_COLOR
`Qt3DRender::QBlendEquationArguments::SourceAlpha` | `0x0302` | GL_SRC_ALPHA
`Qt3DRender::QBlendEquationArguments::Source1Alpha` | `0x303` | GL_SRC1_ALPHA
`Qt3DRender::QBlendEquationArguments::Source1Color` | `0x304` | GL_SRC1_COLOR
`Qt3DRender::QBlendEquationArguments::DestinationColor` | `0x0306` | GL_DST_COLOR
`Qt3DRender::QBlendEquationArguments::DestinationAlpha` | `0x0304` | GL_DST_ALPHA
`Qt3DRender::QBlendEquationArguments::SourceAlphaSaturate` | `0x0308` | GL_SRC_ALPHA_SATURATE
`Qt3DRender::QBlendEquationArguments::ConstantColor` | `0x8001` | 0GL_CONSTANT_COLOR
`Qt3DRender::QBlendEquationArguments::ConstantAlpha` | `0x8003` | GL_CONSTANT_ALPHA
`Qt3DRender::QBlendEquationArguments::OneMinusSourceColor` | `0x0301` | GL_ONE_MINUS_SRC_COLOR
`Qt3DRender::QBlendEquationArguments::OneMinusSourceAlpha` | `0x0303` | GL_ONE_MINUS_SRC_ALPHA
`Qt3DRender::QBlendEquationArguments::OneMinusDestinationAlpha` | `0x0305` | GL_ONE_MINUS_DST_ALPHA
`Qt3DRender::QBlendEquationArguments::OneMinusDestinationColor` | `0x0307` | GL_ONE_MINUS_DST_COLOR
`Qt3DRender::QBlendEquationArguments::OneMinusConstantColor` | `0x8002` | GL_ONE_MINUS_CONSTANT_COLOR
`Qt3DRender::QBlendEquationArguments::OneMinusConstantAlpha` | `0x8004` | GL_ONE_MINUS_CONSTANT_ALPHA
`Qt3DRender::QBlendEquationArguments::OneMinusSource1Alpha` | `0x8005` | GL_ONE_MINUS_SRC1_ALPHA
`Qt3DRender::QBlendEquationArguments::OneMinusSource1Color` | `0x8006` | GL_ONE_MINUS_SRC1_COLOR
`Qt3DRender::QBlendEquationArguments::OneMinusSource1Color0` | `OneMinusSource1Color` | GL_ONE_MINUS_SRC1_COLOR (deprecated)

## Property Documentation

### bufferIndex : int

Specifies the index of the Draw Buffer that this BlendEquationArguments applies to. If negative, this will apply to all Draw Buffers.

Access functions:

int | bufferIndex() const
void | setBufferIndex(int index)

Notifier signal:

void | bufferIndexChanged(int index)

### destinationAlpha : Blending

Access functions:

Qt3DRender::QBlendEquationArguments::Blending | destinationAlpha() const
void | setDestinationAlpha(Qt3DRender::QBlendEquationArguments::Blending destinationAlpha)

Notifier signal:

void | destinationAlphaChanged(Qt3DRender::QBlendEquationArguments::Blending destinationAlpha)

### destinationRgb : Blending

Access functions:

Qt3DRender::QBlendEquationArguments::Blending | destinationRgb() const
void | setDestinationRgb(Qt3DRender::QBlendEquationArguments::Blending destinationRgb)

Notifier signal:

void | destinationRgbChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgb)

### sourceAlpha : Blending

Access functions:

Qt3DRender::QBlendEquationArguments::Blending | sourceAlpha() const
void | setSourceAlpha(Qt3DRender::QBlendEquationArguments::Blending sourceAlpha)

Notifier signal:

void | sourceAlphaChanged(Qt3DRender::QBlendEquationArguments::Blending sourceAlpha)

### sourceRgb : Blending

Access functions:

Qt3DRender::QBlendEquationArguments::Blending | sourceRgb() const
void | setSourceRgb(Qt3DRender::QBlendEquationArguments::Blending sourceRgb)

Notifier signal:

void | sourceRgbChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgb)

## Member Function Documentation

### QBlendEquationArguments::QBlendEquationArguments(Qt3DCore::QNode *parent = nullptr)

The constructor creates a new blend state object with the specified parent.

### `[signal]` void QBlendEquationArguments::destinationRgbaChanged(Qt3DRender::QBlendEquationArguments::Blending destinationRgba)

Notify that both destinationRgb and destinationAlpha properties have changed to destinationRgba.

### `[slot]` void QBlendEquationArguments::setDestinationRgba(Qt3DRender::QBlendEquationArguments::Blending destinationRgba)

Change both destinationRgb and destinationAlpha properties to destinationRgba.

### `[slot]` void QBlendEquationArguments::setSourceRgba(Qt3DRender::QBlendEquationArguments::Blending sourceRgba)

Change both sourceRgb and sourceAlpha properties to sourceRgba.

### `[signal]` void QBlendEquationArguments::sourceRgbaChanged(Qt3DRender::QBlendEquationArguments::Blending sourceRgba)

Notify that both sourceRgb and sourceAlpha properties have changed to sourceRgba.