mirror of
https://github.com/overte-org/overte.git
synced 2025-07-24 00:43:49 +02:00
Merge pull request #6591 from jherico/zaan
Add sphere and cube triangle counts to displayed stats
This commit is contained in:
commit
1356fb15aa
4 changed files with 24 additions and 2 deletions
|
@ -41,6 +41,7 @@ void RenderableBoxEntityItem::render(RenderArgs* args) {
|
||||||
Q_ASSERT(getType() == EntityTypes::Box);
|
Q_ASSERT(getType() == EntityTypes::Box);
|
||||||
Q_ASSERT(args->_batch);
|
Q_ASSERT(args->_batch);
|
||||||
|
|
||||||
|
|
||||||
if (!_procedural) {
|
if (!_procedural) {
|
||||||
_procedural.reset(new Procedural(this->getUserData()));
|
_procedural.reset(new Procedural(this->getUserData()));
|
||||||
_procedural->_vertexSource = simple_vert;
|
_procedural->_vertexSource = simple_vert;
|
||||||
|
@ -64,4 +65,6 @@ void RenderableBoxEntityItem::render(RenderArgs* args) {
|
||||||
} else {
|
} else {
|
||||||
DependencyManager::get<DeferredLightingEffect>()->renderSolidCubeInstance(batch, getTransformToCenter(), cubeColor);
|
DependencyManager::get<DeferredLightingEffect>()->renderSolidCubeInstance(batch, getTransformToCenter(), cubeColor);
|
||||||
}
|
}
|
||||||
};
|
static const auto triCount = DependencyManager::get<GeometryCache>()->getCubeTriangleCount();
|
||||||
|
args->_details._trianglesRendered += triCount;
|
||||||
|
}
|
||||||
|
|
|
@ -71,4 +71,6 @@ void RenderableSphereEntityItem::render(RenderArgs* args) {
|
||||||
batch.setModelTransform(Transform());
|
batch.setModelTransform(Transform());
|
||||||
DependencyManager::get<DeferredLightingEffect>()->renderSolidSphereInstance(batch, modelTransform, sphereColor);
|
DependencyManager::get<DeferredLightingEffect>()->renderSolidSphereInstance(batch, modelTransform, sphereColor);
|
||||||
}
|
}
|
||||||
};
|
static const auto triCount = DependencyManager::get<GeometryCache>()->getSphereTriangleCount();
|
||||||
|
args->_details._trianglesRendered += triCount;
|
||||||
|
}
|
||||||
|
|
|
@ -214,6 +214,19 @@ VertexVector tesselate(const VertexVector& startingTriangles, int count) {
|
||||||
return triangles;
|
return triangles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t GeometryCache::getShapeTriangleCount(Shape shape) {
|
||||||
|
return _shapes[shape]._indexCount / VERTICES_PER_TRIANGLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t GeometryCache::getSphereTriangleCount() {
|
||||||
|
return getShapeTriangleCount(Sphere);
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t GeometryCache::getCubeTriangleCount() {
|
||||||
|
return getShapeTriangleCount(Cube);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// FIXME solids need per-face vertices, but smooth shaded
|
// FIXME solids need per-face vertices, but smooth shaded
|
||||||
// components do not. Find a way to support using draw elements
|
// components do not. Find a way to support using draw elements
|
||||||
// or draw arrays as appropriate
|
// or draw arrays as appropriate
|
||||||
|
@ -1727,3 +1740,4 @@ void GeometryCache::useSimpleDrawPipeline(gpu::Batch& batch, bool noBlend) {
|
||||||
batch.setPipeline(_standardDrawPipeline);
|
batch.setPipeline(_standardDrawPipeline);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -151,16 +151,19 @@ public:
|
||||||
void renderWireShapeInstances(gpu::Batch& batch, Shape shape, size_t count, gpu::BufferPointer& transformBuffer, gpu::BufferPointer& colorBuffer);
|
void renderWireShapeInstances(gpu::Batch& batch, Shape shape, size_t count, gpu::BufferPointer& transformBuffer, gpu::BufferPointer& colorBuffer);
|
||||||
void renderShape(gpu::Batch& batch, Shape shape);
|
void renderShape(gpu::Batch& batch, Shape shape);
|
||||||
void renderWireShape(gpu::Batch& batch, Shape shape);
|
void renderWireShape(gpu::Batch& batch, Shape shape);
|
||||||
|
size_t getShapeTriangleCount(Shape shape);
|
||||||
|
|
||||||
void renderCubeInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
void renderCubeInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
||||||
void renderWireCubeInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
void renderWireCubeInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
||||||
void renderCube(gpu::Batch& batch);
|
void renderCube(gpu::Batch& batch);
|
||||||
void renderWireCube(gpu::Batch& batch);
|
void renderWireCube(gpu::Batch& batch);
|
||||||
|
size_t getCubeTriangleCount();
|
||||||
|
|
||||||
void renderSphereInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
void renderSphereInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
||||||
void renderWireSphereInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
void renderWireSphereInstances(gpu::Batch& batch, size_t count, gpu::BufferPointer transformBuffer, gpu::BufferPointer colorBuffer);
|
||||||
void renderSphere(gpu::Batch& batch);
|
void renderSphere(gpu::Batch& batch);
|
||||||
void renderWireSphere(gpu::Batch& batch);
|
void renderWireSphere(gpu::Batch& batch);
|
||||||
|
size_t getSphereTriangleCount();
|
||||||
|
|
||||||
void renderGrid(gpu::Batch& batch, int xDivisions, int yDivisions, const glm::vec4& color);
|
void renderGrid(gpu::Batch& batch, int xDivisions, int yDivisions, const glm::vec4& color);
|
||||||
void renderGrid(gpu::Batch& batch, int x, int y, int width, int height, int rows, int cols, const glm::vec4& color, int id = UNKNOWN_ID);
|
void renderGrid(gpu::Batch& batch, int x, int y, int width, int height, int rows, int cols, const glm::vec4& color, int id = UNKNOWN_ID);
|
||||||
|
|
Loading…
Reference in a new issue