add render bins to improve rendering of transparent objects using framebuffer renderer

This commit is contained in:
Emil Axelsson
2016-08-25 18:26:59 +02:00
parent d0ec7ac735
commit bc58623467
7 changed files with 53 additions and 4 deletions
+14
View File
@@ -72,6 +72,7 @@ Renderable* Renderable::createFromDictionary(const ghoul::Dictionary& dictionary
Renderable::Renderable()
: _enabled("enabled", "Is Enabled", true)
, _renderBin(RenderBin::Opaque)
, _startTime("")
, _endTime("")
, _targetBody("")
@@ -83,6 +84,7 @@ Renderable::Renderable()
Renderable::Renderable(const ghoul::Dictionary& dictionary)
: _enabled("enabled", "Is Enabled", true)
, _renderBin(RenderBin::Opaque)
, _startTime("")
, _endTime("")
, _targetBody("")
@@ -148,6 +150,18 @@ void Renderable::setPscUniforms(
program.setUniform("scaling", camera.scaling());
}
Renderable::RenderBin Renderable::renderBin() const {
return _renderBin;
}
void Renderable::setRenderBin(RenderBin bin) {
_renderBin = bin;
}
bool Renderable::matchesRenderBinMask(int binMask) {
return binMask & static_cast<int>(renderBin());
}
bool Renderable::isVisible() const {
return _enabled;
}