Refactor SceneRendering to simplify actors impl of drawing flow at high level

This commit is contained in:
Wojciech Figat
2022-02-22 17:06:19 +01:00
parent 8c075c78cb
commit 3fe1e2c763
43 changed files with 191 additions and 617 deletions

View File

@@ -330,7 +330,7 @@ void TextRender::UpdateLayout()
BoundingBox::Transform(_localBox, _world, _box);
BoundingSphere::FromBox(_box, _sphere);
if (_sceneRenderingKey != -1)
GetSceneRendering()->UpdateGeometry(this, _sceneRenderingKey);
GetSceneRendering()->UpdateActor(this, _sceneRenderingKey);
}
bool TextRender::HasContentLoaded() const
@@ -400,11 +400,6 @@ void TextRender::Draw(RenderContext& renderContext)
GEOMETRY_DRAW_STATE_EVENT_END(_drawState, _world);
}
void TextRender::DrawGeneric(RenderContext& renderContext)
{
Draw(renderContext);
}
#if USE_EDITOR
#include "Engine/Debug/DebugDraw.h"
@@ -426,7 +421,7 @@ void TextRender::OnDebugDrawSelected()
void TextRender::OnLayerChanged()
{
if (_sceneRenderingKey != -1)
GetSceneRendering()->UpdateGeometry(this, _sceneRenderingKey);
GetSceneRendering()->UpdateActor(this, _sceneRenderingKey);
}
bool TextRender::IntersectsItself(const Ray& ray, float& distance, Vector3& normal)
@@ -495,7 +490,7 @@ void TextRender::OnEnable()
{
UpdateLayout();
}
_sceneRenderingKey = GetSceneRendering()->AddGeometry(this);
_sceneRenderingKey = GetSceneRendering()->AddActor(this);
}
void TextRender::OnDisable()
@@ -505,7 +500,7 @@ void TextRender::OnDisable()
_isLocalized = false;
Localization::LocalizationChanged.Unbind<TextRender, &TextRender::UpdateLayout>(this);
}
GetSceneRendering()->RemoveGeometry(this, _sceneRenderingKey);
GetSceneRendering()->RemoveActor(this, _sceneRenderingKey);
// Base
Actor::OnDisable();
@@ -520,5 +515,5 @@ void TextRender::OnTransformChanged()
BoundingBox::Transform(_localBox, _world, _box);
BoundingSphere::FromBox(_box, _sphere);
if (_sceneRenderingKey != -1)
GetSceneRendering()->UpdateGeometry(this, _sceneRenderingKey);
GetSceneRendering()->UpdateActor(this, _sceneRenderingKey);
}