summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorPaul Lemire <paul.lemire@kdab.com>2014-10-16 17:44:37 +0200
committerSean Harmer <sean.harmer@kdab.com>2014-10-18 13:50:25 +0200
commitb46d416987a4f62a3bcc6e4038e6b949c5b9af4b (patch)
tree341874d8340051786bb1223de5d63c8f84ba7405 /examples
parent16749ae5dbab2caa67d816a6778cdfd92e9510ac (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.cpp9
-rw-r--r--examples/deferred-renderer-cpp/sceneeffect.cpp9
-rw-r--r--examples/playground-qml/main.qml4
-rw-r--r--examples/rollerball/AdsEffect.qml4
-rw-r--r--examples/shadow-map-qml/AdsEffect.qml8
-rw-r--r--examples/tessellation-modes/TessellatedWireframeEffect.qml17
-rw-r--r--examples/tessellation-modes/main.qml4
-rw-r--r--examples/wireframe/WireframeEffect.qml6
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")
}
}
]