diff options
Diffstat (limited to 'src/render/renderstates/qdepthtest.cpp')
-rw-r--r-- | src/render/renderstates/qdepthtest.cpp | 89 |
1 files changed, 73 insertions, 16 deletions
diff --git a/src/render/renderstates/qdepthtest.cpp b/src/render/renderstates/qdepthtest.cpp index c2299f810..7e67ba5ba 100644 --- a/src/render/renderstates/qdepthtest.cpp +++ b/src/render/renderstates/qdepthtest.cpp @@ -38,14 +38,6 @@ ** ****************************************************************************/ -/*! - * \class QDepthTest - * \brief The QDepthTest class tests the fragment shader's depth value against - * the depth of a sample being written to. - * \since 5.7 - * \ingroup renderstates - * - */ #include "qdepthtest.h" #include "qdepthtest_p.h" #include <Qt3DRender/private/qrenderstatecreatedchange_p.h> @@ -55,7 +47,79 @@ QT_BEGIN_NAMESPACE namespace Qt3DRender { /*! - * The constructor creates a new QDepthTest::QDepthTest instance with the specified \a parent. + \class Qt3DRender::QDepthTest + \brief The QDepthTest class tests the fragment shader's depth value against + the depth of a sample being written to. + \since 5.7 + \inmodule Qt3DRender + \ingroup renderstates + + A QDepthTest class is used to enable depth testing with a given depth test function. + The depth test enables writing fragment color values when the depth test passes, and + reject fragments which fail the test. The depth test uses the depth function to + test the fragments depth value to the value against z-buffer. If the underlying surface + does not have z-buffer, then QDepthTest does nothing. + + \sa QAlphaTest, QStencilTest + */ + +/*! + \qmltype DepthTest + \brief The DepthTest type tests the fragment shader's depth value against + the depth of a sample being written to. + \since 5.7 + \inqmlmodule Qt3D.Render + \inherits RenderState + \instantiates Qt3DRender::QDepthTest + \ingroup renderstates + + A DepthTest type is used to enable depth testing with a given depth test function. + The depth test enables writing fragment color values when the depth test passes, and + reject fragments which fail the test. The depth test uses the depth function to + test the fragments depth value to the value against z-buffer. If the underlying surface + does not have z-buffer, the DepthTest does nothing. + + \sa AlphaTest, StencilTest + */ + +/*! + \enum Qt3DRender::QDepthTest::DepthFunction + + Enumeration for the depth function values + \value Never Never pass depth test + \value Always Always pass depth test + \value Less Pass depth test if fragment depth is less than z-buffer value + \value LessOrEqual Pass depth test if fragment depth is less than or equal to z-buffer value + \value Equal Pass depth test if fragment depth is equal to z-buffer value + \value GreaterOrEqual Pass depth test if fragment depth is greater than or equal to z-buffer value + \value Greater Pass depth test if fragment depth is greater than z-buffer value + \value NotEqual Pass depth test if fragment depth is not equal to z-buffer value +*/ + +/*! + \qmlproperty enumeration DepthTest::depthFunction + Holds the current function used by depth test. The default is DepthTest.Never. + \list + \li DepthTest.Never + \li DepthTest.Always + \li DepthTest.Less + \li DepthTest.LessOrEqual + \li DepthTest.Equal + \li DepthTest.GreaterOrEqual + \li DepthTest.Greater + \li DepthTest.NotEqual + \endlist + \sa Qt3DRender::QDepthTest::DepthFunction +*/ + +/*! + \property QDepthTest::depthFunction + Holds the current function used by depth test. The default is Never. +*/ + + +/*! + The constructor creates a new QDepthTest::QDepthTest instance with the specified \a parent. */ QDepthTest::QDepthTest(QNode *parent) : QRenderState(*new QDepthTestPrivate, parent) @@ -67,19 +131,12 @@ QDepthTest::~QDepthTest() { } -/*! - * \return the current enabled depth function. - */ QDepthTest::DepthFunction QDepthTest::depthFunction() const { Q_D(const QDepthTest); return d->m_depthFunction; } -/*! - * Sets the depth function being enabled to \a depthFunction - * \param depthFunction - */ void QDepthTest::setDepthFunction(QDepthTest::DepthFunction depthFunction) { Q_D(QDepthTest); |