42 #ifndef VolumeSHADERPROGRAM_P_H
43 #define VolumeSHADERPROGRAM_P_H
45 #include <QtCore/qsharedpointer.h>
46 #include <QtCore/qpointer.h>
47 #include <QOpenGLShaderProgram>
49 #include "qquickeffect.h"
50 #include "qglshaderprogrameffect.h"
93 virtual int qt_metacall(QMetaObject::Call c,
int id,
void **a);
96 int VolumeshaderProgramMethodCount;
112 bool create(
const QString& vertexShader,
const QString& fragmentShader);
114 void update(QGLPainter *painter, QGLPainter::Updates updates);
127 void setUniform(
int uniformValue,
const QImage& image,
128 QGLPainter* painter);
129 void setUniform(
int uniformValue,
const QPixmap pixmap,
130 QGLPainter* painter);
131 QGLTexture2D* textureForUniformValue(
int uniformLocation);
132 int textureUnitForUniformValue(
int uniformLocation);
134 QPointer<VolumeShaderProgram> parent;
136 QMap<int, int> propertyIdsToUniformLocations;
137 QMap<int, int> uniformLocationsToTextureUnits;
138 QList<int> dirtyProperties;
139 QArray<int> propertiesWithoutNotificationSignal;
143 QMap<int, QGLTexture2D*> texture2Ds;
144 QMap<int, QImage> images;
145 QMap<int, QString> urls;
148 QSet<int> loadingTextures;
149 QSet<int> changedTextures;
151 int m_texture3DuniformValue;
152 int m_eyePositionUniformLocation;
157 #endif // VolumeSHADERPROGRAM_P_H