mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
61 lines
1.6 KiB
C++
61 lines
1.6 KiB
C++
//
|
|
// LocalModelsOverlay.cpp
|
|
// interface/src/ui/overlays
|
|
//
|
|
// Created by Ryan Huffman on 07/08/14.
|
|
// Copyright 2014 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
#include "Application.h"
|
|
|
|
#include "LocalModelsOverlay.h"
|
|
|
|
LocalModelsOverlay::LocalModelsOverlay(EntityTreeRenderer* entityTreeRenderer) :
|
|
Volume3DOverlay(),
|
|
_entityTreeRenderer(entityTreeRenderer) {
|
|
}
|
|
|
|
LocalModelsOverlay::LocalModelsOverlay(const LocalModelsOverlay* localModelsOverlay) :
|
|
Volume3DOverlay(localModelsOverlay),
|
|
_entityTreeRenderer(localModelsOverlay->_entityTreeRenderer)
|
|
{
|
|
|
|
}
|
|
|
|
LocalModelsOverlay::~LocalModelsOverlay() {
|
|
}
|
|
|
|
void LocalModelsOverlay::update(float deltatime) {
|
|
_entityTreeRenderer->update();
|
|
}
|
|
|
|
void LocalModelsOverlay::render(RenderArgs* args) {
|
|
if (_visible) {
|
|
|
|
float glowLevel = getGlowLevel();
|
|
Glower* glower = NULL;
|
|
if (glowLevel > 0.0f) {
|
|
glower = new Glower(glowLevel);
|
|
}
|
|
|
|
glPushMatrix(); {
|
|
Application* app = Application::getInstance();
|
|
glm::vec3 oldTranslation = app->getViewMatrixTranslation();
|
|
app->setViewMatrixTranslation(oldTranslation + _position);
|
|
_entityTreeRenderer->render();
|
|
Application::getInstance()->setViewMatrixTranslation(oldTranslation);
|
|
} glPopMatrix();
|
|
|
|
if (glower) {
|
|
delete glower;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
LocalModelsOverlay* LocalModelsOverlay::createClone() const {
|
|
return new LocalModelsOverlay(this);
|
|
}
|