aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp')
-rw-r--r--src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp b/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp
deleted file mode 100644
index 78cef55215..0000000000
--- a/src/declarative/scenegraph/util/qsgvertexcolormaterial.cpp
+++ /dev/null
@@ -1,173 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module 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 "qsgvertexcolormaterial.h"
-
-#include <qopenglshaderprogram.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSGVertexColorMaterialShader : public QSGMaterialShader
-{
-public:
- virtual void updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *oldEffect);
- virtual char const *const *attributeNames() const;
-
- static QSGMaterialType type;
-
-private:
- virtual void initialize();
- virtual const char *vertexShader() const;
- virtual const char *fragmentShader() const;
-
- int m_matrix_id;
- int m_opacity_id;
-};
-
-QSGMaterialType QSGVertexColorMaterialShader::type;
-
-void QSGVertexColorMaterialShader::updateState(const RenderState &state, QSGMaterial *newEffect, QSGMaterial *)
-{
- if (!(newEffect->flags() & QSGMaterial::Blending) || state.isOpacityDirty())
- program()->setUniformValue(m_opacity_id, state.opacity());
-
- if (state.isMatrixDirty())
- program()->setUniformValue(m_matrix_id, state.combinedMatrix());
-}
-
-char const *const *QSGVertexColorMaterialShader::attributeNames() const
-{
- static const char *const attr[] = { "vertexCoord", "vertexColor", 0 };
- return attr;
-}
-
-void QSGVertexColorMaterialShader::initialize()
-{
- m_matrix_id = program()->uniformLocation("matrix");
- m_opacity_id = program()->uniformLocation("opacity");
-}
-
-const char *QSGVertexColorMaterialShader::vertexShader() const {
- return
- "attribute highp vec4 vertexCoord; \n"
- "attribute highp vec4 vertexColor; \n"
- "uniform highp mat4 matrix; \n"
- "uniform highp float opacity; \n"
- "varying lowp vec4 color; \n"
- "void main() { \n"
- " gl_Position = matrix * vertexCoord; \n"
- " color = vertexColor * opacity; \n"
- "}";
-}
-
-const char *QSGVertexColorMaterialShader::fragmentShader() const {
- return
- "varying lowp vec4 color; \n"
- "void main() { \n"
- " gl_FragColor = color; \n"
- "}";
-}
-
-
-
-/*!
- \class QSGVertexColorMaterial
- \brief The QSGVertexColorMaterial class provides a convenient way of rendering per-vertex
- colored geometry in the scene graph.
-
- \inmodule QtDeclarative
-
- The vertex color material will give each vertex in a geometry a color. Pixels between
- vertices will be linearly interpolated. The colors can contain transparency.
-
- The geometry to be rendered with vertex color must have the following layout. Attribute
- position 0 must contain vertices. Attribute position 1 must contain colors, a tuple of
- 4 values with RGBA layout. Both floats in the range of 0 to 1 and unsigned bytes in
- the range 0 to 255 are valid for the color values. The
- QSGGeometry::defaultAttributes_ColoredPoint2D() constructs an attribute set
- compatible with this material.
-
- The vertex color material respects both current opacity and current matrix when
- updating it's rendering state.
- */
-
-
-QSGVertexColorMaterial::QSGVertexColorMaterial()
-{
- setFlag(Blending, true);
-}
-
-
-/*!
- int QSGVertexColorMaterial::compare() const
-
- As the vertex color material has all its state in the vertex attributes,
- all materials will be equal.
-
- \internal
- */
-
-int QSGVertexColorMaterial::compare(const QSGMaterial * /* other */) const
-{
- return 0;
-}
-
-/*!
- \internal
- */
-
-QSGMaterialType *QSGVertexColorMaterial::type() const
-{
- return &QSGVertexColorMaterialShader::type;
-}
-
-
-
-/*!
- \internal
- */
-
-QSGMaterialShader *QSGVertexColorMaterial::createShader() const
-{
- return new QSGVertexColorMaterialShader;
-}
-
-QT_END_NAMESPACE