History

Merge pull request #5371 from Atlante45/smart_pointers

Smart pointers fixes

Brad Davis committed 11 years ago

Commit 9016f432 parents 5b63863 8d6ff2d61 files · +316 −320Browse files

Showing the changes to libraries/render-utils/src/GeometryCache.cpp (1 of 61 files). Show all

Unified · Split

libraries/render-utils/src/GeometryCache.cpp+86−86
@@ -79,8 +79,8 @@ void GeometryCache::renderSphere(gpu::Batch& batch, float radius, int slices, in · 78 unmodified lines
7979 qCDebug(renderutils) << "renderSphere()... RELEASING REGISTERED VERTICES BUFFER";
8080 #endif
8181 }
82−
83− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
82+
83+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
8484 if (registered) {
8585 _registeredSphereVertices[id] = verticesBuffer;
8686 _lastRegisteredSphereVertices[id] = radiusKey;
@@ -144,7 +144,7 @@ void GeometryCache::renderSphere(gpu::Batch& batch, float radius, int slices, in · 57 unmodified lines
144144 #endif
145145 }
146146
147− gpu::BufferPointer indicesBuffer(new gpu::Buffer());
147+ auto indicesBuffer = std::make_shared<gpu::Buffer>();
148148 if (registered) {
149149 _registeredSphereIndices[id] = indicesBuffer;
150150 _lastRegisteredSphereIndices[id] = slicesStacksKey;
@@ -229,8 +229,8 @@ void GeometryCache::renderSphere(gpu::Batch& batch, float radius, int slices, in · 78 unmodified lines
229229 qCDebug(renderutils) << "renderSphere()... RELEASING REGISTERED COLORS BUFFER";
230230 #endif
231231 }
232−
233− gpu::BufferPointer colorBuffer(new gpu::Buffer());
232+
233+ auto colorBuffer = std::make_shared<gpu::Buffer>();
234234 if (registered) {
235235 _registeredSphereColors[id] = colorBuffer;
236236 _lastRegisteredSphereColors[id] = colorKey;
@@ -278,7 +278,7 @@ void GeometryCache::renderSphere(gpu::Batch& batch, float radius, int slices, in · 41 unmodified lines
278278 static gpu::Stream::FormatPointer streamFormat;
279279 static gpu::Element positionElement, normalElement, colorElement;
280280 if (!streamFormat) {
281− streamFormat.reset(new gpu::Stream::Format()); // 1 for everyone
281+ streamFormat = std::make_shared<gpu::Stream::Format>(); // 1 for everyone
282282 streamFormat->setAttribute(gpu::Stream::POSITION, VERTICES_SLOT, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ), 0);
283283 streamFormat->setAttribute(gpu::Stream::NORMAL, NORMALS_SLOT, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));
284284 streamFormat->setAttribute(gpu::Stream::COLOR, COLOR_SLOT, gpu::Element(gpu::VEC4, gpu::UINT8, gpu::RGBA));
@@ -316,7 +316,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, int xDivisions, int yDivisions · 31 unmodified lines
316316
317317 int vertices = (xDivisions + 1 + yDivisions + 1) * 2;
318318 if (!_gridBuffers.contains(key)) {
319− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
319+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
320320
321321 GLfloat* vertexData = new GLfloat[vertices * 2];
322322 GLfloat* vertex = vertexData;
@@ -347,7 +347,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, int xDivisions, int yDivisions · 24 unmodified lines
347347 }
348348
349349 if (!_gridColors.contains(colorKey)) {
350− gpu::BufferPointer colorBuffer(new gpu::Buffer());
350+ auto colorBuffer = std::make_shared<gpu::Buffer>();
351351 _gridColors[colorKey] = colorBuffer;
352352
353353 int compactColor = ((int(color.x * 255.0f) & 0xFF)) |
@@ -370,7 +370,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, int xDivisions, int yDivisions · 16 unmodified lines
370370
371371 const int VERTICES_SLOT = 0;
372372 const int COLOR_SLOT = 1;
373− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format()); // 1 for everyone
373+ auto streamFormat = std::make_shared<gpu::Stream::Format>(); // 1 for everyone
374374
375375 streamFormat->setAttribute(gpu::Stream::POSITION, VERTICES_SLOT, gpu::Element(gpu::VEC2, gpu::FLOAT, gpu::XYZ), 0);
376376 streamFormat->setAttribute(gpu::Stream::COLOR, COLOR_SLOT, gpu::Element(gpu::VEC4, gpu::UINT8, gpu::RGBA));
@@ -417,7 +417,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, int x, int y, int width, int h · 40 unmodified lines
417417 #endif
418418 }
419419
420− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
420+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
421421 if (registered) {
422422 _registeredAlternateGridBuffers[id] = verticesBuffer;
423423 _lastRegisteredAlternateGridBuffers[id] = key;
@@ -458,7 +458,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, int x, int y, int width, int h · 34 unmodified lines
458458 }
459459
460460 if (!_gridColors.contains(colorKey)) {
461− gpu::BufferPointer colorBuffer(new gpu::Buffer());
461+ auto colorBuffer = std::make_shared<gpu::Buffer>();
462462 _gridColors[colorKey] = colorBuffer;
463463
464464 int compactColor = ((int(color.x * 255.0f) & 0xFF)) |
@@ -483,7 +483,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, int x, int y, int width, int h · 18 unmodified lines
483483
484484 const int VERTICES_SLOT = 0;
485485 const int COLOR_SLOT = 1;
486− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format()); // 1 for everyone
486+ auto streamFormat = std::make_shared<gpu::Stream::Format>(); // 1 for everyone
487487
488488 streamFormat->setAttribute(gpu::Stream::POSITION, VERTICES_SLOT, gpu::Element(gpu::VEC2, gpu::FLOAT, gpu::XYZ), 0);
489489 streamFormat->setAttribute(gpu::Stream::COLOR, COLOR_SLOT, gpu::Element(gpu::VEC4, gpu::UINT8, gpu::RGBA));
@@ -511,11 +511,11 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec2>& points, con · 21 unmodified lines
511511 details.isCreated = true;
512512 details.vertices = points.size();
513513 details.vertexSize = FLOATS_PER_VERTEX;
514−
515− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
516− gpu::BufferPointer colorBuffer(new gpu::Buffer());
517− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
518− gpu::BufferStreamPointer stream(new gpu::BufferStream());
514+
515+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
516+ auto colorBuffer = std::make_shared<gpu::Buffer>();
517+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
518+ auto stream = std::make_shared<gpu::BufferStream>();
519519
520520 details.verticesBuffer = verticesBuffer;
521521 details.colorBuffer = colorBuffer;
@@ -572,11 +572,11 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec3>& points, con · 50 unmodified lines
572572 details.isCreated = true;
573573 details.vertices = points.size();
574574 details.vertexSize = FLOATS_PER_VERTEX;
575−
576− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
577− gpu::BufferPointer colorBuffer(new gpu::Buffer());
578− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
579− gpu::BufferStreamPointer stream(new gpu::BufferStream());
575+
576+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
577+ auto colorBuffer = std::make_shared<gpu::Buffer>();
578+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
579+ auto stream = std::make_shared<gpu::BufferStream>();
580580
581581 details.verticesBuffer = verticesBuffer;
582582 details.colorBuffer = colorBuffer;
@@ -635,11 +635,11 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec3>& points, con · 52 unmodified lines
635635 details.isCreated = true;
636636 details.vertices = points.size();
637637 details.vertexSize = FLOATS_PER_VERTEX;
638−
639− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
640− gpu::BufferPointer colorBuffer(new gpu::Buffer());
641− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
642− gpu::BufferStreamPointer stream(new gpu::BufferStream());
638+
639+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
640+ auto colorBuffer = std::make_shared<gpu::Buffer>();
641+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
642+ auto stream = std::make_shared<gpu::BufferStream>();
643643
644644 details.verticesBuffer = verticesBuffer;
645645 details.colorBuffer = colorBuffer;
@@ -726,7 +726,7 @@ void GeometryCache::renderSolidCube(gpu::Batch& batch, float size, const glm::ve · 80 unmodified lines
726726 const int NORMALS_OFFSET = sizeof(GLfloat) * FLOATS_PER_VERTEX;
727727
728728 if (!_solidCubeVertices.contains(size)) {
729− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
729+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
730730 _solidCubeVertices[size] = verticesBuffer;
731731
732732 GLfloat* vertexData = new GLfloat[vertexPoints * 2]; // vertices and normals
@@ -777,15 +777,15 @@ void GeometryCache::renderSolidCube(gpu::Batch& batch, float size, const glm::ve · 44 unmodified lines
777777 12,13,14, 14,15,12, // left
778778 16,17,18, 18,19,16, // bottom
779779 20,21,22, 22,23,20 }; // back
780−
781− gpu::BufferPointer indexBuffer(new gpu::Buffer());
780+
781+ auto indexBuffer = std::make_shared<gpu::Buffer>();
782782 _solidCubeIndexBuffer = indexBuffer;
783783
784784 _solidCubeIndexBuffer->append(sizeof(cannonicalIndices), (gpu::Byte*) cannonicalIndices);
785785 }
786786
787787 if (!_solidCubeColors.contains(colorKey)) {
788− gpu::BufferPointer colorBuffer(new gpu::Buffer());
788+ auto colorBuffer = std::make_shared<gpu::Buffer>();
789789 _solidCubeColors[colorKey] = colorBuffer;
790790
791791 const int NUM_COLOR_SCALARS_PER_CUBE = 24;
@@ -811,7 +811,7 @@ void GeometryCache::renderSolidCube(gpu::Batch& batch, float size, const glm::ve · 19 unmodified lines
811811 static gpu::Stream::FormatPointer streamFormat;
812812 static gpu::Element positionElement, normalElement, colorElement;
813813 if (!streamFormat) {
814− streamFormat.reset(new gpu::Stream::Format()); // 1 for everyone
814+ streamFormat = std::make_shared<gpu::Stream::Format>(); // 1 for everyone
815815 streamFormat->setAttribute(gpu::Stream::POSITION, VERTICES_SLOT, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ), 0);
816816 streamFormat->setAttribute(gpu::Stream::NORMAL, NORMALS_SLOT, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));
817817 streamFormat->setAttribute(gpu::Stream::COLOR, COLOR_SLOT, gpu::Element(gpu::VEC4, gpu::UINT8, gpu::RGBA));
@@ -850,7 +850,7 @@ void GeometryCache::renderWireCube(gpu::Batch& batch, float size, const glm::vec · 32 unmodified lines
850850 const int indices = (TOP_EDGES + BOTTOM_EDGES + SIDE_EDGES) * VERTICES_PER_EDGE;
851851
852852 if (!_cubeVerticies.contains(size)) {
853− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
853+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
854854 _cubeVerticies[size] = verticesBuffer;
855855
856856 int vertexPoints = vertices * FLOATS_PER_VERTEX;
@@ -876,15 +876,15 @@ void GeometryCache::renderWireCube(gpu::Batch& batch, float size, const glm::vec · 19 unmodified lines
876876 4, 5, 5, 6, 6, 7, 7, 4, // (bottom)
877877 0, 4, 1, 5, 2, 6, 3, 7, // (side edges)
878878 };
879−
880− gpu::BufferPointer indexBuffer(new gpu::Buffer());
879+
880+ auto indexBuffer = std::make_shared<gpu::Buffer>();
881881 _wireCubeIndexBuffer = indexBuffer;
882882
883883 _wireCubeIndexBuffer->append(sizeof(cannonicalIndices), (gpu::Byte*) cannonicalIndices);
884884 }
885885
886886 if (!_cubeColors.contains(colorKey)) {
887− gpu::BufferPointer colorBuffer(new gpu::Buffer());
887+ auto colorBuffer = std::make_shared<gpu::Buffer>();
888888 _cubeColors[colorKey] = colorBuffer;
889889
890890 const int NUM_COLOR_SCALARS_PER_CUBE = 8;
@@ -905,7 +905,7 @@ void GeometryCache::renderWireCube(gpu::Batch& batch, float size, const glm::vec · 14 unmodified lines
905905 static gpu::Stream::FormatPointer streamFormat;
906906 static gpu::Element positionElement, colorElement;
907907 if (!streamFormat) {
908− streamFormat.reset(new gpu::Stream::Format()); // 1 for everyone
908+ streamFormat = std::make_shared<gpu::Stream::Format>(); // 1 for everyone
909909 streamFormat->setAttribute(gpu::Stream::POSITION, VERTICES_SLOT, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ), 0);
910910 streamFormat->setAttribute(gpu::Stream::COLOR, COLOR_SLOT, gpu::Element(gpu::VEC4, gpu::UINT8, gpu::RGBA));
911911 positionElement = streamFormat->getAttributes().at(gpu::Stream::POSITION)._element;
@@ -957,11 +957,11 @@ void GeometryCache::renderBevelCornersRect(gpu::Batch& batch, int x, int y, int · 45 unmodified lines
957957 details.isCreated = true;
958958 details.vertices = NUM_VERTICES;
959959 details.vertexSize = FLOATS_PER_VERTEX;
960−
961− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
962− gpu::BufferPointer colorBuffer(new gpu::Buffer());
963− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
964− gpu::BufferStreamPointer stream(new gpu::BufferStream());
960+
961+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
962+ auto colorBuffer = std::make_shared<gpu::Buffer>();
963+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
964+ auto stream = std::make_shared<gpu::BufferStream>();
965965
966966 details.verticesBuffer = verticesBuffer;
967967 details.colorBuffer = colorBuffer;
@@ -1065,11 +1065,11 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec2& minCorner, co · 97 unmodified lines
10651065 details.isCreated = true;
10661066 details.vertices = vertices;
10671067 details.vertexSize = FLOATS_PER_VERTEX;
1068−
1069− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1070− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1071− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1072− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1068+
1069+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1070+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1071+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1072+ auto stream = std::make_shared<gpu::BufferStream>();
10731073
10741074 details.verticesBuffer = verticesBuffer;
10751075 details.colorBuffer = colorBuffer;
@@ -1171,11 +1171,11 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec2& minCorner, co · 95 unmodified lines
11711171 details.isCreated = true;
11721172 details.vertices = vertices;
11731173 details.vertexSize = FLOATS_PER_VERTEX;
1174−
1175− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1176− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1177− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1178− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1174+
1175+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1176+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1177+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1178+ auto stream = std::make_shared<gpu::BufferStream>();
11791179
11801180 details.verticesBuffer = verticesBuffer;
11811181 details.colorBuffer = colorBuffer;
@@ -1250,11 +1250,11 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec3& minCorner, co · 68 unmodified lines
12501250 details.isCreated = true;
12511251 details.vertices = vertices;
12521252 details.vertexSize = FLOATS_PER_VERTEX;
1253−
1254− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1255− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1256− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1257− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1253+
1254+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1255+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1256+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1257+ auto stream = std::make_shared<gpu::BufferStream>();
12581258
12591259 details.verticesBuffer = verticesBuffer;
12601260 details.colorBuffer = colorBuffer;
@@ -1353,11 +1353,11 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec3& topLeft, cons · 92 unmodified lines
13531353 details.isCreated = true;
13541354 details.vertices = vertices;
13551355 details.vertexSize = FLOATS_PER_VERTEX; // NOTE: this isn't used for BatchItemDetails maybe we can get rid of it
1356−
1357− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1358− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1359− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1360− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1356+
1357+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1358+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1359+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1360+ auto stream = std::make_shared<gpu::BufferStream>();
13611361
13621362 details.verticesBuffer = verticesBuffer;
13631363 details.colorBuffer = colorBuffer;
@@ -1440,11 +1440,11 @@ void GeometryCache::renderDashedLine(gpu::Batch& batch, const glm::vec3& start, · 76 unmodified lines
14401440 details.vertices = (segmentCountFloor + 1) * 2;
14411441 details.vertexSize = FLOATS_PER_VERTEX;
14421442 details.isCreated = true;
1443−
1444− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1445− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1446− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1447− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1443+
1444+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1445+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1446+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1447+ auto stream = std::make_shared<gpu::BufferStream>();
14481448
14491449 details.verticesBuffer = verticesBuffer;
14501450 details.colorBuffer = colorBuffer;
@@ -1605,11 +1605,11 @@ void GeometryCache::renderLine(gpu::Batch& batch, const glm::vec3& p1, const glm · 154 unmodified lines
16051605 details.isCreated = true;
16061606 details.vertices = vertices;
16071607 details.vertexSize = FLOATS_PER_VERTEX;
1608−
1609− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1610− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1611− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1612− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1608+
1609+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1610+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1611+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1612+ auto stream = std::make_shared<gpu::BufferStream>();
16131613
16141614 details.verticesBuffer = verticesBuffer;
16151615 details.colorBuffer = colorBuffer;
@@ -1695,11 +1695,11 @@ void GeometryCache::renderLine(gpu::Batch& batch, const glm::vec2& p1, const glm · 79 unmodified lines
16951695 details.isCreated = true;
16961696 details.vertices = vertices;
16971697 details.vertexSize = FLOATS_PER_VERTEX;
1698−
1699− gpu::BufferPointer verticesBuffer(new gpu::Buffer());
1700− gpu::BufferPointer colorBuffer(new gpu::Buffer());
1701− gpu::Stream::FormatPointer streamFormat(new gpu::Stream::Format());
1702− gpu::BufferStreamPointer stream(new gpu::BufferStream());
1698+
1699+ auto verticesBuffer = std::make_shared<gpu::Buffer>();
1700+ auto colorBuffer = std::make_shared<gpu::Buffer>();
1701+ auto streamFormat = std::make_shared<gpu::Stream::Format>();
1702+ auto stream = std::make_shared<gpu::BufferStream>();
17031703
17041704 details.verticesBuffer = verticesBuffer;
17051705 details.colorBuffer = colorBuffer;
@@ -1756,7 +1756,7 @@ void GeometryCache::useSimpleDrawPipeline(gpu::Batch& batch) { · 50 unmodified lines
17561756 auto program = gpu::ShaderPointer(gpu::Shader::createProgram(vs, ps));
17571757 gpu::Shader::makeProgram((*program));
17581758
1759− auto state = gpu::StatePointer(new gpu::State());
1759+ auto state = std::make_shared<gpu::State>();
17601760
17611761 // enable decal blend
17621762 state->setBlendFunction(true, gpu::State::SRC_ALPHA, gpu::State::BLEND_OP_ADD, gpu::State::INV_SRC_ALPHA);
@@ -2129,8 +2129,8 @@ void NetworkGeometry::downloadFinished(QNetworkReply* reply) { · 366 unmodified lines
21292129 }
21302130 QVariantHash lods = _mapping.value("lod").toHash();
21312131 for (QVariantHash::const_iterator it = lods.begin(); it != lods.end(); it++) {
2132− QSharedPointer<NetworkGeometry> geometry(new NetworkGeometry(url.resolved(it.key()),
2133− QSharedPointer<NetworkGeometry>(), true, _mapping, _textureBase));
2132+ auto geometry = QSharedPointer<NetworkGeometry>::create(url.resolved(it.key()),
2133+ QSharedPointer<NetworkGeometry>(), true, _mapping, _textureBase);
21342134 geometry->setSelf(geometry.staticCast<Resource>());
21352135 geometry->setLODParent(_lodParent);
21362136 _lods.insert(it.value().toFloat(), geometry);
@@ -2206,7 +2206,7 @@ void NetworkGeometry::setGeometry(const FBXGeometry& geometry) { · 69 unmodified lines
22062206 }
22072207
22082208 {
2209− networkMesh._indexBuffer = gpu::BufferPointer(new gpu::Buffer());
2209+ networkMesh._indexBuffer = std::make_shared<gpu::Buffer>();
22102210 networkMesh._indexBuffer->resize(totalIndices * sizeof(int));
22112211 int offset = 0;
22122212 foreach(const FBXMeshPart& part, mesh.parts) {
@@ -2220,7 +2220,7 @@ void NetworkGeometry::setGeometry(const FBXGeometry& geometry) { · 7 unmodified lines
22202220 }
22212221
22222222 {
2223− networkMesh._vertexBuffer = gpu::BufferPointer(new gpu::Buffer());
2223+ networkMesh._vertexBuffer = std::make_shared<gpu::Buffer>();
22242224 // if we don't need to do any blending, the positions/normals can be static
22252225 if (mesh.blendshapes.isEmpty()) {
22262226 int normalsOffset = mesh.vertices.size() * sizeof(glm::vec3);
@@ -2248,7 +2248,7 @@ void NetworkGeometry::setGeometry(const FBXGeometry& geometry) { · 21 unmodified lines
22482248 mesh.clusterWeights.size() * sizeof(glm::vec4), (gpu::Byte*) mesh.clusterWeights.constData());
22492249
22502250 // otherwise, at least the cluster indices/weights can be static
2251− networkMesh._vertexStream = gpu::BufferStreamPointer(new gpu::BufferStream());
2251+ networkMesh._vertexStream = std::make_shared<gpu::BufferStream>();
22522252 networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, 0, sizeof(glm::vec3));
22532253 if (mesh.normals.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, normalsOffset, sizeof(glm::vec3));
22542254 if (mesh.tangents.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, tangentsOffset, sizeof(glm::vec3));
@@ -2259,7 +2259,7 @@ void NetworkGeometry::setGeometry(const FBXGeometry& geometry) { · 4 unmodified lines
22592259 if (mesh.clusterWeights.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, clusterWeightsOffset, sizeof(glm::vec4));
22602260
22612261 int channelNum = 0;
2262− networkMesh._vertexFormat = gpu::Stream::FormatPointer(new gpu::Stream::Format());
2262+ networkMesh._vertexFormat = std::make_shared<gpu::Stream::Format>();
22632263 networkMesh._vertexFormat->setAttribute(gpu::Stream::POSITION, channelNum++, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ), 0);
22642264 if (mesh.normals.size()) networkMesh._vertexFormat->setAttribute(gpu::Stream::NORMAL, channelNum++, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));
22652265 if (mesh.tangents.size()) networkMesh._vertexFormat->setAttribute(gpu::Stream::TANGENT, channelNum++, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));
@@ -2290,7 +2290,7 @@ void NetworkGeometry::setGeometry(const FBXGeometry& geometry) { · 24 unmodified lines
22902290 networkMesh._vertexBuffer->setSubData(clusterWeightsOffset,
22912291 mesh.clusterWeights.size() * sizeof(glm::vec4), (gpu::Byte*) mesh.clusterWeights.constData());
22922292
2293− networkMesh._vertexStream = gpu::BufferStreamPointer(new gpu::BufferStream());
2293+ networkMesh._vertexStream = std::make_shared<gpu::BufferStream>();
22942294 if (mesh.tangents.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, 0, sizeof(glm::vec3));
22952295 if (mesh.colors.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, colorsOffset, sizeof(glm::vec3));
22962296 if (mesh.texCoords.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, texCoordsOffset, sizeof(glm::vec2));
@@ -2298,7 +2298,7 @@ void NetworkGeometry::setGeometry(const FBXGeometry& geometry) { · 1 unmodified line
22982298 if (mesh.clusterWeights.size()) networkMesh._vertexStream->addBuffer(networkMesh._vertexBuffer, clusterWeightsOffset, sizeof(glm::vec4));
22992299
23002300 int channelNum = 0;
2301− networkMesh._vertexFormat = gpu::Stream::FormatPointer(new gpu::Stream::Format());
2301+ networkMesh._vertexFormat = std::make_shared<gpu::Stream::Format>();
23022302 networkMesh._vertexFormat->setAttribute(gpu::Stream::POSITION, channelNum++, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));
23032303 if (mesh.normals.size()) networkMesh._vertexFormat->setAttribute(gpu::Stream::NORMAL, channelNum++, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));
23042304 if (mesh.tangents.size()) networkMesh._vertexFormat->setAttribute(gpu::Stream::TANGENT, channelNum++, gpu::Element(gpu::VEC3, gpu::FLOAT, gpu::XYZ));