QPolygonOffset Class

class Qt3DRender::QPolygonOffset

The QPolygonOffset class sets the scale and steps to calculate depth values for polygon offsets. More...

Header: #include <QPolygonOffset>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Instantiated By: PolygonOffset
Inherits: Qt3DRender::QRenderState

Properties

Public Functions

QPolygonOffset(Qt3DCore::QNode *parent = nullptr)
float depthSteps() const
float scaleFactor() const

Public Slots

void setDepthSteps(float depthSteps)
void setScaleFactor(float scaleFactor)

Signals

void depthStepsChanged(float depthSteps)
void scaleFactorChanged(float scaleFactor)

Detailed Description

A QPolygonOffset class adds an offset to the fragment depth value prior to depth test and depth write. The offset can be used to avoid z-fighting when rendering polygons with very close depth values such as decals.

Property Documentation

depthSteps : float

Holds the units that create constant depth offsets. Default value is 0.

Access functions:

float depthSteps() const
void setDepthSteps(float depthSteps)

Notifier signal:

void depthStepsChanged(float depthSteps)

scaleFactor : float

Holds the scale factor used to create a variable depth offset for each polygon. Default value is 0.

Access functions:

float scaleFactor() const
void setScaleFactor(float scaleFactor)

Notifier signal:

void scaleFactorChanged(float scaleFactor)

Member Function Documentation

[explicit] QPolygonOffset::QPolygonOffset(Qt3DCore::QNode *parent = nullptr)

The constructor creates a new QPolygonOffset::QPolygonOffset instance with the specified parent

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.