diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2014-10-16 17:44:37 +0200 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2014-10-18 13:50:25 +0200 |
commit | b46d416987a4f62a3bcc6e4038e6b949c5b9af4b (patch) | |
tree | 341874d8340051786bb1223de5d63c8f84ba7405 /examples | |
parent | 16749ae5dbab2caa67d816a6778cdfd92e9510ac (diff) |
QShaderProgram: remove source file properties, replace by helper method
Only the source code QByteArray properties remain. The user is still able to
load a shader from a source file by using the shaderFromSource helper method
and assigning what it returns to one of the QByteArray source code properties.
Change-Id: I5246498fa680ec74d095d7a45f0b1bce239efc13
Task-number: QTBUG-41536
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/deferred-renderer-cpp/finaleffect.cpp | 9 | ||||
-rw-r--r-- | examples/deferred-renderer-cpp/sceneeffect.cpp | 9 | ||||
-rw-r--r-- | examples/playground-qml/main.qml | 4 | ||||
-rw-r--r-- | examples/rollerball/AdsEffect.qml | 4 | ||||
-rw-r--r-- | examples/shadow-map-qml/AdsEffect.qml | 8 | ||||
-rw-r--r-- | examples/tessellation-modes/TessellatedWireframeEffect.qml | 17 | ||||
-rw-r--r-- | examples/tessellation-modes/main.qml | 4 | ||||
-rw-r--r-- | examples/wireframe/WireframeEffect.qml | 6 |
8 files changed, 32 insertions, 29 deletions
diff --git a/examples/deferred-renderer-cpp/finaleffect.cpp b/examples/deferred-renderer-cpp/finaleffect.cpp index d7298edd7..d628e97b4 100644 --- a/examples/deferred-renderer-cpp/finaleffect.cpp +++ b/examples/deferred-renderer-cpp/finaleffect.cpp @@ -43,6 +43,7 @@ #include <Qt3DRenderer/QOpenGLFilter> #include <Qt3DRenderer/QShaderProgram> +#include <QUrl> FinalEffect::FinalEffect(Qt3D::QNode *parent) : Qt3D::QEffect(parent) @@ -66,16 +67,16 @@ FinalEffect::FinalEffect(Qt3D::QNode *parent) m_passCriterion->setValue(QStringLiteral("final")); Qt3D::QShaderProgram *gl3Shader = new Qt3D::QShaderProgram(); - gl3Shader->setVertexShaderSourceFile(QStringLiteral(":/final_gl3.vert")); - gl3Shader->setFragmentShaderSourceFile(QStringLiteral(":/final_gl3.frag")); + gl3Shader->setVertexShaderCode(gl3Shader->loadSource(QUrl(QStringLiteral(":/final_gl3.vert")))); + gl3Shader->setFragmentShaderCode(gl3Shader->loadSource(QUrl(QStringLiteral(":/final_gl3.frag")))); m_gl3Pass->addAnnotation(m_passCriterion); m_gl3Pass->setShaderProgram(gl3Shader); m_gl3Technique->addPass(m_gl3Pass); Qt3D::QShaderProgram *gl2Shader = new Qt3D::QShaderProgram(); - gl2Shader->setVertexShaderSourceFile(QStringLiteral(":/final_gl2.vert")); - gl2Shader->setFragmentShaderSourceFile(QStringLiteral(":/final_gl2.frag")); + gl2Shader->setVertexShaderCode(gl2Shader->loadSource(QUrl(QStringLiteral(":/final_gl2.vert")))); + gl2Shader->setFragmentShaderCode(gl2Shader->loadSource(QUrl(QStringLiteral(":/final_gl2.frag")))); m_gl2Pass->addAnnotation(m_passCriterion); m_gl2Pass->setShaderProgram(gl2Shader); diff --git a/examples/deferred-renderer-cpp/sceneeffect.cpp b/examples/deferred-renderer-cpp/sceneeffect.cpp index 0e2a62c4e..430f31f2e 100644 --- a/examples/deferred-renderer-cpp/sceneeffect.cpp +++ b/examples/deferred-renderer-cpp/sceneeffect.cpp @@ -43,6 +43,7 @@ #include <Qt3DRenderer/QOpenGLFilter> #include <Qt3DRenderer/QShaderProgram> +#include <QUrl> SceneEffect::SceneEffect(Qt3D::QNode *parent) : Qt3D::QEffect(parent) @@ -68,16 +69,16 @@ SceneEffect::SceneEffect(Qt3D::QNode *parent) m_passCriterion->setValue(QStringLiteral("geometry")); Qt3D::QShaderProgram *gl3Shader = new Qt3D::QShaderProgram(); - gl3Shader->setVertexShaderSourceFile(QStringLiteral(":/geometry_gl3.vert")); - gl3Shader->setFragmentShaderSourceFile(QStringLiteral(":/geometry_gl3.frag")); + gl3Shader->setVertexShaderCode(Qt3D::QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/geometry_gl3.vert")))); + gl3Shader->setFragmentShaderCode(Qt3D::QShaderProgram::loadSource(QUrl(QStringLiteral("qrc:/geometry_gl3.frag")))); m_gl3Pass->addAnnotation(m_passCriterion); m_gl3Pass->setShaderProgram(gl3Shader); m_gl3Technique->addPass(m_gl3Pass); Qt3D::QShaderProgram *gl2Shader = new Qt3D::QShaderProgram(); - gl2Shader->setVertexShaderSourceFile(QStringLiteral(":/geometry_gl2.vert")); - gl2Shader->setFragmentShaderSourceFile(QStringLiteral(":/geometry_gl2.frag")); + gl2Shader->setVertexShaderCode(Qt3D::QShaderProgram::loadSource(QUrl(QStringLiteral(":/geometry_gl2.vert")))); + gl2Shader->setFragmentShaderCode(Qt3D::QShaderProgram::loadSource(QUrl(QStringLiteral(":/geometry_gl2.frag")))); m_gl2Pass->addAnnotation(m_passCriterion); m_gl2Pass->setShaderProgram(gl2Shader); diff --git a/examples/playground-qml/main.qml b/examples/playground-qml/main.qml index 57c98099b..80f26ce8f 100644 --- a/examples/playground-qml/main.qml +++ b/examples/playground-qml/main.qml @@ -502,8 +502,8 @@ Entity { ] shaderProgram : ShaderProgram { id : diffuseShader - vertexShaderSourceFile: ":/shaders/diffuse.vert" - fragmentShaderSourceFile: ":/shaders/diffuse.frag" + vertexShaderCode: loadSource("qrc:/shaders/diffuse.vert") + fragmentShaderCode: loadSource("qrc:/shaders/diffuse.frag") } } ] diff --git a/examples/rollerball/AdsEffect.qml b/examples/rollerball/AdsEffect.qml index 253fcfa49..fba98d591 100644 --- a/examples/rollerball/AdsEffect.qml +++ b/examples/rollerball/AdsEffect.qml @@ -98,8 +98,8 @@ Effect { ] shaderProgram: ShaderProgram { - vertexShaderSourceFile: ":/shaders/phong.vert" - fragmentShaderSourceFile: ":/shaders/phong.frag" + vertexShaderCode: loadSource("qrc:/shaders/phong.vert") + fragmentShaderCode: loadSource("qrc:/shaders/phong.frag") } } ] diff --git a/examples/shadow-map-qml/AdsEffect.qml b/examples/shadow-map-qml/AdsEffect.qml index 7b690e690..f718b23f9 100644 --- a/examples/shadow-map-qml/AdsEffect.qml +++ b/examples/shadow-map-qml/AdsEffect.qml @@ -85,8 +85,8 @@ Effect { annotations: [ Annotation { name: "pass"; value: "shadowmap" } ] shaderProgram: ShaderProgram { - vertexShaderSourceFile: ":/shaders/shadowmap.vert" - fragmentShaderSourceFile: ":/shaders/shadowmap.frag" + vertexShaderCode: loadSource("qrc:/shaders/shadowmap.vert") + fragmentShaderCode: loadSource("qrc:/shaders/shadowmap.frag") } renderStates: [ @@ -110,8 +110,8 @@ Effect { ] shaderProgram: ShaderProgram { - vertexShaderSourceFile: ":/shaders/ads.vert" - fragmentShaderSourceFile: ":/shaders/ads.frag" + vertexShaderCode: loadSource("qrc:/shaders/ads.vert") + fragmentShaderCode: loadSource("qrc:/shaders/ads.frag") } // no special render state set. this set of states is the default diff --git a/examples/tessellation-modes/TessellatedWireframeEffect.qml b/examples/tessellation-modes/TessellatedWireframeEffect.qml index 7feaa66e9..731fe3917 100644 --- a/examples/tessellation-modes/TessellatedWireframeEffect.qml +++ b/examples/tessellation-modes/TessellatedWireframeEffect.qml @@ -54,11 +54,12 @@ Effect { // It's expected that users of this will specify the tessellation control and evaluation // shaders and if necessary suitable replacements for the other stages - property alias vertexShaderSourceFile: program.vertexShaderSourceFile - property alias tessellationControlShaderSourceFile: program.tessellationControlShaderSourceFile - property alias tessellationEvaluationShaderSourceFile: program.tessellationEvaluationShaderSourceFile - property alias geometryShaderSourceFile: program.geometryShaderSourceFile - property alias fragmentShaderSourceFile: program.fragmentShaderSourceFile + property alias vertexShaderCode: program.vertexShaderCode + property alias tessellationControlShaderCode: program.tessellationControlShaderCode + property alias tessellationEvaluationShaderCode: program.tessellationEvaluationShaderCode + property alias geometryShaderCode: program.geometryShaderCode + property alias fragmentShaderCode: program.fragmentShaderCode + property alias shaderProgram: program parameters: [ Parameter { name: "ambient"; value: Qt.vector3d( 0.1, 0.1, 0.1 ) }, @@ -101,9 +102,9 @@ Effect { shaderProgram: ShaderProgram { id: program - vertexShaderSourceFile: ":/shaders/passthru.vert" - geometryShaderSourceFile: ":/shaders/robustwireframe.geom" - fragmentShaderSourceFile: ":/shaders/phongwireframe.frag" + vertexShaderCode: loadSource("qrc:/shaders/passthru.vert") + geometryShaderCode: loadSource("qrc:/shaders/robustwireframe.geom") + fragmentShaderCode: loadSource("qrc:/shaders/phongwireframe.frag") } } ] diff --git a/examples/tessellation-modes/main.qml b/examples/tessellation-modes/main.qml index 8f351b870..843f31b9b 100644 --- a/examples/tessellation-modes/main.qml +++ b/examples/tessellation-modes/main.qml @@ -85,8 +85,8 @@ Entity { outerTessLevel : [outerLevel, outerLevel, outerLevel, outerLevel] effect: TessellatedWireframeEffect { - tessellationControlShaderSourceFile: ":/shaders/quads.tcs" - tessellationEvaluationShaderSourceFile: ":/shaders/quads.tes" + tessellationControlShaderCode: shaderProgram.loadSource("qrc:/shaders/quads.tcs") + tessellationEvaluationShaderCode: shaderProgram.loadSource("qrc:/shaders/quads.tes") } QQ2.SequentialAnimation { diff --git a/examples/wireframe/WireframeEffect.qml b/examples/wireframe/WireframeEffect.qml index 34e385ba3..a6502eb29 100644 --- a/examples/wireframe/WireframeEffect.qml +++ b/examples/wireframe/WireframeEffect.qml @@ -102,9 +102,9 @@ Effect { ] shaderProgram: ShaderProgram { - vertexShaderSourceFile: ":/shaders/robustwireframe.vert" - geometryShaderSourceFile: ":/shaders/robustwireframe.geom" - fragmentShaderSourceFile: ":/shaders/robustwireframe.frag" + vertexShaderCode: loadSource("qrc:/shaders/robustwireframe.vert") + geometryShaderCode: loadSource("qrc:/shaders/robustwireframe.geom") + fragmentShaderCode: loadSource("qrc:/shaders/robustwireframe.frag") } } ] |