mirror of
https://github.com/lubosz/overte.git
synced 2025-08-08 02:48:12 +02:00
Merge pull request #15905 from SamGondelman/text
BUGZ-967: Fix text visibility toggle
This commit is contained in:
commit
54b07e9c9b
2 changed files with 10 additions and 20 deletions
|
@ -173,16 +173,19 @@ render::hifi::Layer EntityRenderer::getHifiRenderLayer() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemKey EntityRenderer::getKey() {
|
ItemKey EntityRenderer::getKey() {
|
||||||
|
ItemKey::Builder builder = ItemKey::Builder().withTypeShape().withTypeMeta().withTagBits(getTagMask()).withLayer(getHifiRenderLayer());
|
||||||
|
|
||||||
if (isTransparent()) {
|
if (isTransparent()) {
|
||||||
return ItemKey::Builder::transparentShape().withTypeMeta().withTagBits(getTagMask()).withLayer(getHifiRenderLayer());
|
builder.withTransparent();
|
||||||
|
} else if (_canCastShadow) {
|
||||||
|
builder.withShadowCaster();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This allows shapes to cast shadows
|
if (!_visible) {
|
||||||
if (_canCastShadow) {
|
builder.withInvisible();
|
||||||
return ItemKey::Builder::opaqueShape().withTypeMeta().withTagBits(getTagMask()).withShadowCaster().withLayer(getHifiRenderLayer());
|
|
||||||
} else {
|
|
||||||
return ItemKey::Builder::opaqueShape().withTypeMeta().withTagBits(getTagMask()).withLayer(getHifiRenderLayer());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t EntityRenderer::metaFetchMetaSubItems(ItemIDs& subItems) const {
|
uint32_t EntityRenderer::metaFetchMetaSubItems(ItemIDs& subItems) const {
|
||||||
|
|
|
@ -282,20 +282,7 @@ ItemKey entities::TextPayload::getKey() const {
|
||||||
auto renderable = entityTreeRenderer->renderableForEntityId(_entityID);
|
auto renderable = entityTreeRenderer->renderableForEntityId(_entityID);
|
||||||
if (renderable) {
|
if (renderable) {
|
||||||
auto textRenderable = std::static_pointer_cast<TextEntityRenderer>(renderable);
|
auto textRenderable = std::static_pointer_cast<TextEntityRenderer>(renderable);
|
||||||
ItemKey::Builder key;
|
return ItemKey::Builder(textRenderable->getKey()).withoutMetaCullGroup().withSubMetaCulled();
|
||||||
// Similar to EntityRenderer::getKey()
|
|
||||||
if (textRenderable->isTextTransparent()) {
|
|
||||||
key = ItemKey::Builder::transparentShape().withSubMetaCulled().withTagBits(textRenderable->getTagMask()).withLayer(textRenderable->getHifiRenderLayer());
|
|
||||||
} else if (textRenderable->_canCastShadow) {
|
|
||||||
key = ItemKey::Builder::opaqueShape().withSubMetaCulled().withTagBits(textRenderable->getTagMask()).withShadowCaster().withLayer(textRenderable->getHifiRenderLayer());
|
|
||||||
} else {
|
|
||||||
key = ItemKey::Builder::opaqueShape().withSubMetaCulled().withTagBits(textRenderable->getTagMask()).withLayer(textRenderable->getHifiRenderLayer());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!textRenderable->_visible) {
|
|
||||||
key.withInvisible();
|
|
||||||
}
|
|
||||||
return key;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ItemKey::Builder::opaqueShape();
|
return ItemKey::Builder::opaqueShape();
|
||||||
|
|
Loading…
Reference in a new issue