From 4a34b142d1d2924127dc4f7efa03b66b9cdae7ef Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Thu, 17 Sep 2015 22:05:14 -0700 Subject: [PATCH] remove render element proxies --- .../src/EntityTreeRenderer.cpp | 81 ------------------- .../src/EntityTreeRenderer.h | 5 -- 2 files changed, 86 deletions(-) diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index c55eaaeff9..ebdf0f0339 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -52,9 +52,7 @@ EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterf _lastMouseEventValid(false), _viewState(viewState), _scriptingServices(scriptingServices), - _displayElementChildProxies(false), _displayModelBounds(false), - _displayModelElementProxy(false), _dontDoPrecisionPicking(false) { REGISTER_ENTITY_TYPE_WITH_FACTORY(Model, RenderableModelEntityItem::factory) @@ -372,92 +370,13 @@ const FBXGeometry* EntityTreeRenderer::getCollisionGeometryForEntity(EntityItemP return result; } -void EntityTreeRenderer::renderElementProxy(EntityTreeElementPointer entityTreeElement, RenderArgs* args) { - auto deferredLighting = DependencyManager::get(); - Q_ASSERT(args->_batch); - gpu::Batch& batch = *args->_batch; - Transform transform; - - glm::vec3 elementCenter = entityTreeElement->getAACube().calcCenter(); - float elementSize = entityTreeElement->getScale(); - - auto drawWireCube = [&](glm::vec3 offset, float size, glm::vec4 color) { - transform.setTranslation(elementCenter + offset); - batch.setModelTransform(transform); - deferredLighting->renderWireCube(batch, size, color); - }; - - drawWireCube(glm::vec3(), elementSize, glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); - - if (_displayElementChildProxies) { - // draw the children - float halfSize = elementSize / 2.0f; - float quarterSize = elementSize / 4.0f; - - drawWireCube(glm::vec3(-quarterSize, -quarterSize, -quarterSize), halfSize, glm::vec4(1.0f, 1.0f, 0.0f, 1.0f)); - drawWireCube(glm::vec3(quarterSize, -quarterSize, -quarterSize), halfSize, glm::vec4(1.0f, 0.0f, 1.0f, 1.0f)); - drawWireCube(glm::vec3(-quarterSize, quarterSize, -quarterSize), halfSize, glm::vec4(0.0f, 1.0f, 0.0f, 1.0f)); - drawWireCube(glm::vec3(-quarterSize, -quarterSize, quarterSize), halfSize, glm::vec4(0.0f, 0.0f, 1.0f, 1.0f)); - drawWireCube(glm::vec3(quarterSize, quarterSize, quarterSize), halfSize, glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)); - drawWireCube(glm::vec3(-quarterSize, quarterSize, quarterSize), halfSize, glm::vec4(0.0f, 0.5f, 0.5f, 1.0f)); - drawWireCube(glm::vec3(quarterSize, -quarterSize, quarterSize), halfSize, glm::vec4(0.5f, 0.0f, 0.0f, 1.0f)); - drawWireCube(glm::vec3(quarterSize, quarterSize, -quarterSize), halfSize, glm::vec4(0.0f, 0.5f, 0.0f, 1.0f)); - } -} - -void EntityTreeRenderer::renderProxies(EntityItemPointer entity, RenderArgs* args) { - bool isShadowMode = args->_renderMode == RenderArgs::SHADOW_RENDER_MODE; - if (!isShadowMode && _displayModelBounds) { - PerformanceTimer perfTimer("renderProxies"); - - AACube maxCube = entity->getMaximumAACube(); - AACube minCube = entity->getMinimumAACube(); - AABox entityBox = entity->getAABox(); - - glm::vec3 maxCenter = maxCube.calcCenter(); - glm::vec3 minCenter = minCube.calcCenter(); - glm::vec3 entityBoxCenter = entityBox.calcCenter(); - glm::vec3 entityBoxScale = entityBox.getScale(); - - auto deferredLighting = DependencyManager::get(); - Q_ASSERT(args->_batch); - gpu::Batch& batch = *args->_batch; - Transform transform; - - // draw the max bounding cube - transform.setTranslation(maxCenter); - batch.setModelTransform(transform); - deferredLighting->renderWireCube(batch, maxCube.getScale(), glm::vec4(1.0f, 1.0f, 0.0f, 1.0f)); - - // draw the min bounding cube - transform.setTranslation(minCenter); - batch.setModelTransform(transform); - deferredLighting->renderWireCube(batch, minCube.getScale(), glm::vec4(0.0f, 1.0f, 0.0f, 1.0f)); - - // draw the entityBox bounding box - transform.setTranslation(entityBoxCenter); - transform.setScale(entityBoxScale); - batch.setModelTransform(transform); - deferredLighting->renderWireCube(batch, 1.0f, glm::vec4(0.0f, 0.0f, 1.0f, 1.0f)); - - // Rotated bounding box - batch.setModelTransform(entity->getTransformToCenter()); - deferredLighting->renderWireCube(batch, 1.0f, glm::vec4(1.0f, 0.0f, 1.0f, 1.0f)); - } -} - void EntityTreeRenderer::renderElement(OctreeElementPointer element, RenderArgs* args) { // actually render it here... // we need to iterate the actual entityItems of the element EntityTreeElementPointer entityTreeElement = std::static_pointer_cast(element); - bool isShadowMode = args->_renderMode == RenderArgs::SHADOW_RENDER_MODE; - if (!isShadowMode && _displayModelElementProxy && entityTreeElement->size() > 0) { - renderElementProxy(entityTreeElement, args); - } - entityTreeElement->forEachEntity([&](EntityItemPointer entityItem) { if (entityItem->isVisible()) { // NOTE: Zone Entities are a special case we handle here... diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.h b/libraries/entities-renderer/src/EntityTreeRenderer.h index 18874957fd..2691c3c66f 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.h +++ b/libraries/entities-renderer/src/EntityTreeRenderer.h @@ -114,9 +114,7 @@ public slots: void updateEntityRenderStatus(bool shouldRenderEntities); // optional slots that can be wired to menu items - void setDisplayElementChildProxies(bool value) { _displayElementChildProxies = value; } void setDisplayModelBounds(bool value) { _displayModelBounds = value; } - void setDisplayModelElementProxy(bool value) { _displayModelElementProxy = value; } void setDontDoPrecisionPicking(bool value) { _dontDoPrecisionPicking = value; } protected: @@ -134,7 +132,6 @@ private: void checkAndCallPreload(const EntityItemID& entityID, const bool reload = false); QList _releasedModels; - void renderProxies(EntityItemPointer entity, RenderArgs* args); RayToEntityIntersectionResult findRayIntersectionWorker(const PickRay& ray, Octree::lockType lockType, bool precisionPicking); @@ -157,9 +154,7 @@ private: MouseEvent _lastMouseEvent; AbstractViewStateInterface* _viewState; AbstractScriptingServicesInterface* _scriptingServices; - bool _displayElementChildProxies; bool _displayModelBounds; - bool _displayModelElementProxy; bool _dontDoPrecisionPicking; bool _shuttingDown = false;