From 8e7a2ac5362349aab0c0af4a697733b79a6e493e Mon Sep 17 00:00:00 2001 From: AlessandroSigna Date: Tue, 15 Dec 2015 15:41:36 -0800 Subject: [PATCH] Exposing emmisive property of the Image3DOverlay --- interface/src/ui/overlays/Image3DOverlay.cpp | 18 ++++++++++++++---- interface/src/ui/overlays/Image3DOverlay.h | 1 + 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/interface/src/ui/overlays/Image3DOverlay.cpp b/interface/src/ui/overlays/Image3DOverlay.cpp index 11fb647f01..6e4c274943 100644 --- a/interface/src/ui/overlays/Image3DOverlay.cpp +++ b/interface/src/ui/overlays/Image3DOverlay.cpp @@ -26,14 +26,16 @@ QString const Image3DOverlay::TYPE = "image3d"; Image3DOverlay::Image3DOverlay() { - _isLoaded = false; + _isLoaded = false; + _emmisive = false; } Image3DOverlay::Image3DOverlay(const Image3DOverlay* image3DOverlay) : Billboard3DOverlay(image3DOverlay), _url(image3DOverlay->_url), _texture(image3DOverlay->_texture), - _fromImage(image3DOverlay->_fromImage) + _fromImage(image3DOverlay->_fromImage), + _emmisive(image3DOverlay->_emmisive) { } @@ -93,8 +95,8 @@ void Image3DOverlay::render(RenderArgs* args) { batch->setModelTransform(transform); batch->setResourceTexture(0, _texture->getGPUTexture()); - - DependencyManager::get()->bindSimpleProgram(*batch, true, false, false, true); + + DependencyManager::get()->bindSimpleProgram(*batch, true, false, _emmisive, true); DependencyManager::get()->renderQuad( *batch, topLeft, bottomRight, texCoordTopLeft, texCoordBottomRight, glm::vec4(color.red / MAX_COLOR, color.green / MAX_COLOR, color.blue / MAX_COLOR, alpha) @@ -144,6 +146,11 @@ void Image3DOverlay::setProperties(const QScriptValue &properties) { setClipFromSource(subImageRect); } } + + QScriptValue emmisiveValue = properties.property("emmisive"); + if (emmisiveValue.isValid()) { + _emmisive = emmisiveValue.toBool(); + } } QScriptValue Image3DOverlay::getProperty(const QString& property) { @@ -156,6 +163,9 @@ QScriptValue Image3DOverlay::getProperty(const QString& property) { if (property == "offsetPosition") { return vec3toScriptValue(_scriptEngine, getOffsetPosition()); } + if (property == "emmisive") { + return _emmisive; + } return Billboard3DOverlay::getProperty(property); } diff --git a/interface/src/ui/overlays/Image3DOverlay.h b/interface/src/ui/overlays/Image3DOverlay.h index f848023fbe..0e40c73619 100644 --- a/interface/src/ui/overlays/Image3DOverlay.h +++ b/interface/src/ui/overlays/Image3DOverlay.h @@ -46,6 +46,7 @@ public: private: QString _url; NetworkTexturePointer _texture; + bool _emmisive; QRect _fromImage; // where from in the image to sample };