summaryrefslogtreecommitdiffstats
path: root/src/extras/defaults/qskyboxentity.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/extras/defaults/qskyboxentity.cpp')
-rw-r--r--src/extras/defaults/qskyboxentity.cpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/src/extras/defaults/qskyboxentity.cpp b/src/extras/defaults/qskyboxentity.cpp
index 8f9718465..273c5724d 100644
--- a/src/extras/defaults/qskyboxentity.cpp
+++ b/src/extras/defaults/qskyboxentity.cpp
@@ -22,11 +22,12 @@
QT_BEGIN_NAMESPACE
-using namespace Qt3DCore;
-using namespace Qt3DRender;
namespace Qt3DExtras {
+using namespace Qt3DCore;
+using namespace Qt3DRender;
+
QSkyboxEntityPrivate::QSkyboxEntityPrivate()
: QEntityPrivate()
, m_effect(new QEffect())
@@ -35,13 +36,16 @@ QSkyboxEntityPrivate::QSkyboxEntityPrivate()
, m_loadedTexture(new QTextureLoader())
, m_gl3Shader(new QShaderProgram())
, m_gl2es2Shader(new QShaderProgram())
+ , m_rhiShader(new QShaderProgram())
, m_gl2Technique(new QTechnique())
, m_es2Technique(new QTechnique())
, m_gl3Technique(new QTechnique())
+ , m_rhiTechnique(new QTechnique())
, m_filterKey(new QFilterKey)
, m_gl2RenderPass(new QRenderPass())
, m_es2RenderPass(new QRenderPass())
, m_gl3RenderPass(new QRenderPass())
+ , m_rhiRenderPass(new QRenderPass())
, m_mesh(new QCuboidMesh())
, m_gammaStrengthParameter(new QParameter(QStringLiteral("gammaStrength"), 0.0f))
, m_textureParameter(new QParameter(QStringLiteral("skyboxTexture"), m_skyboxTexture))
@@ -66,6 +70,8 @@ void QSkyboxEntityPrivate::init()
m_gl3Shader->setFragmentShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/gl3/skybox.frag"))));
m_gl2es2Shader->setVertexShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/es2/skybox.vert"))));
m_gl2es2Shader->setFragmentShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/es2/skybox.frag"))));
+ m_rhiShader->setVertexShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/rhi/skybox.vert"))));
+ m_rhiShader->setFragmentShaderCode(QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/shaders/rhi/skybox.frag"))));
m_gl3Technique->graphicsApiFilter()->setApi(QGraphicsApiFilter::OpenGL);
m_gl3Technique->graphicsApiFilter()->setMajorVersion(3);
@@ -82,6 +88,10 @@ void QSkyboxEntityPrivate::init()
m_es2Technique->graphicsApiFilter()->setMinorVersion(0);
m_es2Technique->graphicsApiFilter()->setProfile(QGraphicsApiFilter::NoProfile);
+ m_rhiTechnique->graphicsApiFilter()->setApi(QGraphicsApiFilter::RHI);
+ m_rhiTechnique->graphicsApiFilter()->setMajorVersion(1);
+ m_rhiTechnique->graphicsApiFilter()->setMinorVersion(0);
+
m_filterKey->setParent(m_effect);
m_filterKey->setName(QStringLiteral("renderingStyle"));
m_filterKey->setValue(QStringLiteral("forward"));
@@ -89,10 +99,12 @@ void QSkyboxEntityPrivate::init()
m_gl3Technique->addFilterKey(m_filterKey);
m_gl2Technique->addFilterKey(m_filterKey);
m_es2Technique->addFilterKey(m_filterKey);
+ m_rhiTechnique->addFilterKey(m_filterKey);
m_gl3RenderPass->setShaderProgram(m_gl3Shader);
m_gl2RenderPass->setShaderProgram(m_gl2es2Shader);
m_es2RenderPass->setShaderProgram(m_gl2es2Shader);
+ m_rhiRenderPass->setShaderProgram(m_rhiShader);
QCullFace *cullFront = new QCullFace();
cullFront->setMode(QCullFace::Front);
@@ -107,14 +119,18 @@ void QSkyboxEntityPrivate::init()
m_gl2RenderPass->addRenderState(depthTest);
m_es2RenderPass->addRenderState(cullFront);
m_es2RenderPass->addRenderState(depthTest);
+ m_rhiRenderPass->addRenderState(cullFront);
+ m_rhiRenderPass->addRenderState(depthTest);
m_gl3Technique->addRenderPass(m_gl3RenderPass);
m_gl2Technique->addRenderPass(m_gl2RenderPass);
m_es2Technique->addRenderPass(m_es2RenderPass);
+ m_rhiTechnique->addRenderPass(m_rhiRenderPass);
m_effect->addTechnique(m_gl3Technique);
m_effect->addTechnique(m_gl2Technique);
m_effect->addTechnique(m_es2Technique);
+ m_effect->addTechnique(m_rhiTechnique);
m_material->setEffect(m_effect);
m_material->addParameter(m_gammaStrengthParameter);
@@ -253,7 +269,7 @@ void QSkyboxEntity::setBaseName(const QString &baseName)
}
}
/*!
- \property QSkyboxEntity::baseName
+ \property Qt3DExtras::QSkyboxEntity::baseName
Contains the base name of the Skybox.
*/
@@ -285,7 +301,7 @@ void QSkyboxEntity::setExtension(const QString &extension)
}
/*!
- \property QSkyboxEntity::extension
+ \property Qt3DExtras::QSkyboxEntity::extension
Contains the extension of the filename for the skybox image, including the
leading '.'.
@@ -336,7 +352,7 @@ bool QSkyboxEntity::isGammaCorrectEnabled() const
} // namespace Qt3DExtras
/*!
- \property QSkyboxEntity::gammaCorrect
+ \property Qt3DExtras::QSkyboxEntity::gammaCorrect
A boolean indicating whether gamma correction is enabled.
\since 5.9