diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2016-04-28 14:37:15 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2016-04-30 20:52:31 +0000 |
commit | 099a4f1aedb2ed862abcdeb396c289132e689d26 (patch) | |
tree | 43e5521483c3ee8bdca0498059a45c45811f26d2 /src/extras/geometries/qcuboidgeometry.cpp | |
parent | d8368cd58ae59658a802fd5f44abc66be5bb0333 (diff) |
geometries: use QSharedPointer::create() for QBufferDataGenerators
More efficient, because control block and tracked object are
co-located in a single memory allocation.
Change-Id: I9a6fe07753620eb44814b9c9e4514c391f06a8ee
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/extras/geometries/qcuboidgeometry.cpp')
-rw-r--r-- | src/extras/geometries/qcuboidgeometry.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/extras/geometries/qcuboidgeometry.cpp b/src/extras/geometries/qcuboidgeometry.cpp index cc45e0785..78eab4537 100644 --- a/src/extras/geometries/qcuboidgeometry.cpp +++ b/src/extras/geometries/qcuboidgeometry.cpp @@ -483,9 +483,9 @@ void QCuboidGeometryPrivate::init() m_indexAttribute->setCount(indexCount); - m_vertexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidVertexBufferFunctor(m_xExtent, m_yExtent, m_zExtent, - m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution))); - m_indexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidIndexBufferFunctor(m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution))); + m_vertexBuffer->setDataGenerator(QSharedPointer<CuboidVertexBufferFunctor>::create(m_xExtent, m_yExtent, m_zExtent, + m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution)); + m_indexBuffer->setDataGenerator(QSharedPointer<CuboidIndexBufferFunctor>::create(m_yzFaceResolution, m_xzFaceResolution, m_xyFaceResolution)); q->addAttribute(m_positionAttribute); q->addAttribute(m_texCoordAttribute); @@ -606,7 +606,7 @@ void QCuboidGeometry::updateIndices() const int indexCount = 2 * (yzIndices + xzIndices + xyIndices); d->m_indexAttribute->setCount(indexCount); - d->m_indexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidIndexBufferFunctor(d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution))); + d->m_indexBuffer->setDataGenerator(QSharedPointer<CuboidIndexBufferFunctor>::create(d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution)); } @@ -626,8 +626,8 @@ void QCuboidGeometry::updateVertices() d->m_texCoordAttribute->setCount(nVerts); d->m_tangentAttribute->setCount(nVerts); - d->m_vertexBuffer->setDataGenerator(QBufferDataGeneratorPtr(new CuboidVertexBufferFunctor(d->m_xExtent, d->m_yExtent, d->m_zExtent, - d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution))); + d->m_vertexBuffer->setDataGenerator(QSharedPointer<CuboidVertexBufferFunctor>::create(d->m_xExtent, d->m_yExtent, d->m_zExtent, + d->m_yzFaceResolution, d->m_xzFaceResolution, d->m_xyFaceResolution)); } void QCuboidGeometry::setXExtent(float xExtent) |