diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2012-03-05 15:40:59 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-06 01:39:49 +0100 |
commit | 2738c57e51b4fcb70f25ea4ff46c966ce5287c27 (patch) | |
tree | 2f25e595603a8be269ef416cf280fe45e07a3380 /examples/qml/openglunderqml/squircle.cpp | |
parent | 3f62886ac84b31c5c8f90205583dc65e811ad20b (diff) |
Fix renaming merge with examples
Some examples were duplicated a few times. Removing the excess.
Change-Id: I6fa59f79de63ac952103421ba1c063f5912b702b
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'examples/qml/openglunderqml/squircle.cpp')
-rw-r--r-- | examples/qml/openglunderqml/squircle.cpp | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/examples/qml/openglunderqml/squircle.cpp b/examples/qml/openglunderqml/squircle.cpp deleted file mode 100644 index b56f0baaf6..0000000000 --- a/examples/qml/openglunderqml/squircle.cpp +++ /dev/null @@ -1,123 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the demonstration applications of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "squircle.h" - -#include <QtQuick/qsgengine.h> -#include <QtQuick/qquickcanvas.h> -#include <QOpenGLShaderProgram> - -Squircle::Squircle() - : m_program(0) -{ - setFlag(ItemHasContents); -} - -void Squircle::itemChange(ItemChange change, const ItemChangeData &) -{ - // The ItemSceneChange event is sent when we are first attached to a canvas. - if (change == ItemSceneChange) { - QQuickCanvas *c = canvas(); - - // Connect our the beforeRendering signal to our paint function. - // Since this call is executed on the rendering thread it must be - // a Qt::DirectConnection - connect(c, SIGNAL(beforeRendering()), this, SLOT(paint()), Qt::DirectConnection); - - // If we allow QML to do the clearing, they would clear what we paint - // and nothing would show. - c->setClearBeforeRendering(false); - } -} - - -void Squircle::paint() -{ - if (!m_program) { - m_program = new QOpenGLShaderProgram(); - m_program->addShaderFromSourceCode(QOpenGLShader::Vertex, - "attribute highp vec4 vertices;" - "varying highp vec2 coords;" - "void main() {" - " gl_Position = vertices;" - " coords = vertices.xy;" - "}"); - m_program->addShaderFromSourceCode(QOpenGLShader::Fragment, - "uniform lowp float t;" - "varying highp vec2 coords;" - "void main() {" - " lowp float i = 1. - (pow(coords.x, 4.) + pow(coords.y, 4.));" - " i = smoothstep(t - 0.3, t + 0.3, i);" - " gl_FragColor = vec4(coords / 2. + .5, i, i);" - "}"); - - m_program->bindAttributeLocation("vertices", 0); - m_program->link(); - } - - m_program->bind(); - - m_program->enableAttributeArray(0); - - float values[] = { - -1, -1, - 1, -1, - -1, 1, - 1, 1 - }; - m_program->setAttributeArray(0, GL_FLOAT, values, 2); - m_program->setUniformValue("t", (float) m_t); - - glDisable(GL_DEPTH_TEST); - - glClearColor(0, 0, 0, 1); - glClear(GL_COLOR_BUFFER_BIT); - - glEnable(GL_BLEND); - glBlendFunc(GL_SRC_ALPHA, GL_ONE); - - glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); - - m_program->disableAttributeArray(0); - m_program->release(); -} - - |