diff options
Diffstat (limited to 'examples/qt3d/tank/quadplane.cpp')
-rw-r--r-- | examples/qt3d/tank/quadplane.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/examples/qt3d/tank/quadplane.cpp b/examples/qt3d/tank/quadplane.cpp index 16b416da1..16935c912 100644 --- a/examples/qt3d/tank/quadplane.cpp +++ b/examples/qt3d/tank/quadplane.cpp @@ -70,6 +70,7 @@ QGLMaterial *qCreateFloor() QuadPlane::QuadPlane(QObject *parent, QSizeF size, int level) : QGLSceneNode(parent) + , m_texture(0) { setObjectName("QuadPlane"); if (level > 8) @@ -102,9 +103,18 @@ QuadPlane::QuadPlane(QObject *parent, QSizeF size, int level) } QGLSceneNode *n = builder.finalizedSceneNode(); addNode(n); - n->setMaterial(qCreateFloor()); + QGLMaterial *mat = qCreateFloor(); + m_texture = mat->texture(); + n->setMaterial(mat); QGraphicsRotation3D *rot = new QGraphicsRotation3D(n); rot->setAxis(QVector3D(1, 0, 0)); rot->setAngle(90.0f); n->addTransform(rot); } + +QuadPlane::~QuadPlane() +{ + if (m_texture) + m_texture->cleanupResources(); +} + |