History

Buffer usage flags

Brad Davis committed 8 years ago

Commit ea485d01 parent 935a4b348 files · +281 −332Browse files

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

Unified · Split

libraries/render-utils/src/GeometryCache.cpp+31−30
@@ -547,8 +547,8 @@ void extrudePolygon(GeometryCache::ShapeData& shapeData, gpu::BufferPointer& ver · 546 unmodified lines
547// and smooth shading547// and smooth shading
548void GeometryCache::buildShapes() {548void GeometryCache::buildShapes() {
549 using namespace geometry;549 using namespace geometry;
550 auto vertexBuffer = std::make_shared<gpu::Buffer>();550 auto vertexBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
551 auto indexBuffer = std::make_shared<gpu::Buffer>();551 auto indexBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::IndexBuffer);
552 // Cube552 // Cube
553 setupFlatShape(_shapes[Cube], geometry::cube(), _shapeVertices, _shapeIndices);553 setupFlatShape(_shapes[Cube], geometry::cube(), _shapeVertices, _shapeIndices);
554 //Quad renders as flat Cube554 //Quad renders as flat Cube
@@ -878,7 +878,7 @@ void GeometryCache::renderGrid(gpu::Batch& batch, const glm::vec2& minCorner, co · 323 unmodified lines
878 gridBuffer = gridBufferIter.value();878 gridBuffer = gridBufferIter.value();
879 } else {879 } else {
880 GridSchema gridSchema;880 GridSchema gridSchema;
881 gridBuffer = std::make_shared<gpu::Buffer>(sizeof(GridSchema), (const gpu::Byte*)&gridSchema);881 gridBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::UniformBuffer, sizeof(GridSchema), (const gpu::Byte*)&gridSchema);
882 }882 }
883 883
884 if (!hadGridBuffer || _lastRegisteredGridBuffer[id] != key) {884 if (!hadGridBuffer || _lastRegisteredGridBuffer[id] != key) {
@@ -919,9 +919,10 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec2>& points, con · 34 unmodified lines
919 details.vertices = points.size();919 details.vertices = points.size();
920 details.vertexSize = FLOATS_PER_VERTEX;920 details.vertexSize = FLOATS_PER_VERTEX;
921 921
922 auto verticesBuffer = std::make_shared<gpu::Buffer>();922 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
923 auto normalBuffer = std::make_shared<gpu::Buffer>();923 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
924 auto colorBuffer = std::make_shared<gpu::Buffer>();924 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
925
925 auto streamFormat = std::make_shared<gpu::Stream::Format>();926 auto streamFormat = std::make_shared<gpu::Stream::Format>();
926 auto stream = std::make_shared<gpu::BufferStream>();927 auto stream = std::make_shared<gpu::BufferStream>();
927 928
@@ -989,9 +990,9 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec3>& points, con · 61 unmodified lines
989 details.vertices = points.size();990 details.vertices = points.size();
990 details.vertexSize = FLOATS_PER_VERTEX;991 details.vertexSize = FLOATS_PER_VERTEX;
991 992
992 auto verticesBuffer = std::make_shared<gpu::Buffer>();993 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
993 auto normalBuffer = std::make_shared<gpu::Buffer>();994 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
994 auto colorBuffer = std::make_shared<gpu::Buffer>();995 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
995 auto streamFormat = std::make_shared<gpu::Stream::Format>();996 auto streamFormat = std::make_shared<gpu::Stream::Format>();
996 auto stream = std::make_shared<gpu::BufferStream>();997 auto stream = std::make_shared<gpu::BufferStream>();
997 998
@@ -1064,9 +1065,9 @@ void GeometryCache::updateVertices(int id, const QVector<glm::vec3>& points, con · 66 unmodified lines
1064 details.vertices = points.size();1065 details.vertices = points.size();
1065 details.vertexSize = FLOATS_PER_VERTEX;1066 details.vertexSize = FLOATS_PER_VERTEX;
1066 1067
1067 auto verticesBuffer = std::make_shared<gpu::Buffer>();1068 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1068 auto normalBuffer = std::make_shared<gpu::Buffer>();1069 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1069 auto colorBuffer = std::make_shared<gpu::Buffer>();1070 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1070 auto streamFormat = std::make_shared<gpu::Stream::Format>();1071 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1071 auto stream = std::make_shared<gpu::BufferStream>();1072 auto stream = std::make_shared<gpu::BufferStream>();
1072 1073
@@ -1152,8 +1153,8 @@ void GeometryCache::renderBevelCornersRect(gpu::Batch& batch, int x, int y, int · 79 unmodified lines
1152 details.vertices = NUM_VERTICES;1153 details.vertices = NUM_VERTICES;
1153 details.vertexSize = FLOATS_PER_VERTEX;1154 details.vertexSize = FLOATS_PER_VERTEX;
1154 1155
1155 auto verticesBuffer = std::make_shared<gpu::Buffer>();1156 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1156 auto colorBuffer = std::make_shared<gpu::Buffer>();1157 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1157 auto streamFormat = std::make_shared<gpu::Stream::Format>();1158 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1158 auto stream = std::make_shared<gpu::BufferStream>();1159 auto stream = std::make_shared<gpu::BufferStream>();
1159 1160
@@ -1245,9 +1246,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec2& minCorner, co · 85 unmodified lines
1245 details.vertices = VERTICES;1246 details.vertices = VERTICES;
1246 details.vertexSize = FLOATS_PER_VERTEX;1247 details.vertexSize = FLOATS_PER_VERTEX;
1247 1248
1248 auto verticesBuffer = std::make_shared<gpu::Buffer>();1249 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1249 auto normalBuffer = std::make_shared<gpu::Buffer>();1250 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1250 auto colorBuffer = std::make_shared<gpu::Buffer>();1251 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1251 auto streamFormat = std::make_shared<gpu::Stream::Format>();1252 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1252 auto stream = std::make_shared<gpu::BufferStream>();1253 auto stream = std::make_shared<gpu::BufferStream>();
1253 1254
@@ -1405,9 +1406,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec2& minCorner, co · 151 unmodified lines
1405 details.vertices = VERTICES;1406 details.vertices = VERTICES;
1406 details.vertexSize = FLOATS_PER_VERTEX;1407 details.vertexSize = FLOATS_PER_VERTEX;
1407 1408
1408 auto verticesBuffer = std::make_shared<gpu::Buffer>();1409 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1409 auto normalBuffer = std::make_shared<gpu::Buffer>();1410 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1410 auto colorBuffer = std::make_shared<gpu::Buffer>();1411 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1411 auto streamFormat = std::make_shared<gpu::Stream::Format>();1412 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1412 auto stream = std::make_shared<gpu::BufferStream>();1413 auto stream = std::make_shared<gpu::BufferStream>();
1413 1414
@@ -1559,9 +1560,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec3& minCorner, co · 145 unmodified lines
1559 details.vertices = VERTICES;1560 details.vertices = VERTICES;
1560 details.vertexSize = FLOATS_PER_VERTEX;1561 details.vertexSize = FLOATS_PER_VERTEX;
1561 1562
1562 auto verticesBuffer = std::make_shared<gpu::Buffer>();1563 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1563 auto normalBuffer = std::make_shared<gpu::Buffer>();1564 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1564 auto colorBuffer = std::make_shared<gpu::Buffer>();1565 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1565 auto streamFormat = std::make_shared<gpu::Stream::Format>();1566 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1566 auto stream = std::make_shared<gpu::BufferStream>();1567 auto stream = std::make_shared<gpu::BufferStream>();
1567 1568
@@ -1649,9 +1650,9 @@ void GeometryCache::renderQuad(gpu::Batch& batch, const glm::vec3& topLeft, cons · 81 unmodified lines
1649 details.vertices = VERTICES;1650 details.vertices = VERTICES;
1650 details.vertexSize = FLOATS_PER_VERTEX; // NOTE: this isn't used for BatchItemDetails maybe we can get rid of it1651 details.vertexSize = FLOATS_PER_VERTEX; // NOTE: this isn't used for BatchItemDetails maybe we can get rid of it
1651 1652
1652 auto verticesBuffer = std::make_shared<gpu::Buffer>();1653 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1653 auto normalBuffer = std::make_shared<gpu::Buffer>();1654 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1654 auto colorBuffer = std::make_shared<gpu::Buffer>();1655 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1655 auto streamFormat = std::make_shared<gpu::Stream::Format>();1656 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1656 auto stream = std::make_shared<gpu::BufferStream>();1657 auto stream = std::make_shared<gpu::BufferStream>();
1657 1658
@@ -1806,9 +1807,9 @@ void GeometryCache::renderDashedLine(gpu::Batch& batch, const glm::vec3& start, · 148 unmodified lines
1806 details.vertices = (segmentCountFloor + 1) * 2;1807 details.vertices = (segmentCountFloor + 1) * 2;
1807 details.vertexSize = FLOATS_PER_VERTEX;1808 details.vertexSize = FLOATS_PER_VERTEX;
1808 1809
1809 auto verticesBuffer = std::make_shared<gpu::Buffer>();1810 auto verticesBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1810 auto normalBuffer = std::make_shared<gpu::Buffer>();1811 auto normalBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1811 auto colorBuffer = std::make_shared<gpu::Buffer>();1812 auto colorBuffer = std::make_shared<gpu::Buffer>(gpu::Buffer::VertexBuffer);
1812 auto streamFormat = std::make_shared<gpu::Stream::Format>();1813 auto streamFormat = std::make_shared<gpu::Stream::Format>();
1813 auto stream = std::make_shared<gpu::BufferStream>();1814 auto stream = std::make_shared<gpu::BufferStream>();
1814 1815
@@ -2508,7 +2509,7 @@ graphics::MeshPointer GeometryCache::meshFromShape(Shape geometryShape, glm::vec · 693 unmodified lines
2508 2509
2509 const auto startIndex = 0, baseVertex = 0;2510 const auto startIndex = 0, baseVertex = 0;
2510 graphics::Mesh::Part part(startIndex, (graphics::Index)indexBufferView.getNumElements(), baseVertex, graphics::Mesh::TRIANGLES);2511 graphics::Mesh::Part part(startIndex, (graphics::Index)indexBufferView.getNumElements(), baseVertex, graphics::Mesh::TRIANGLES);
2511 auto partBuffer = new gpu::Buffer(sizeof(graphics::Mesh::Part), (gpu::Byte*)&part);2512 auto partBuffer = new gpu::Buffer(gpu::Buffer::IndirectBuffer, sizeof(graphics::Mesh::Part), (gpu::Byte*)&part);
2512 mesh->setPartBuffer(gpu::BufferView(partBuffer, gpu::Element::PART_DRAWCALL));2513 mesh->setPartBuffer(gpu::BufferView(partBuffer, gpu::Element::PART_DRAWCALL));
2513 2514
2514 mesh->modelName = GeometryCache::stringFromShape(geometryShape).toStdString();2515 mesh->modelName = GeometryCache::stringFromShape(geometryShape).toStdString();