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

@@ -131,11 +131,6 @@ void SpriteRender::Draw(RenderContext& renderContext)
model->LODs[0].Draw(renderContext, _materialInstance, world, GetStaticFlags(), false, DrawModes, GetPerInstanceRandom());
}
void SpriteRender::DrawGeneric(RenderContext& renderContext)
{
Draw(renderContext);
}
void SpriteRender::Serialize(SerializeStream& stream, const void* otherObj)
{
// Base
@@ -173,7 +168,7 @@ void SpriteRender::Deserialize(DeserializeStream& stream, ISerializeModifier* mo
void SpriteRender::OnLayerChanged()
{
if (_sceneRenderingKey != -1)
GetSceneRendering()->UpdateGeometry(this, _sceneRenderingKey);
GetSceneRendering()->UpdateActor(this, _sceneRenderingKey);
}
void SpriteRender::OnEndPlay()
@@ -193,7 +188,7 @@ void SpriteRender::OnEndPlay()
void SpriteRender::OnEnable()
{
_sceneRenderingKey = GetSceneRendering()->AddGeometry(this);
_sceneRenderingKey = GetSceneRendering()->AddActor(this);
// Base
Actor::OnEnable();
@@ -201,7 +196,7 @@ void SpriteRender::OnEnable()
void SpriteRender::OnDisable()
{
GetSceneRendering()->RemoveGeometry(this, _sceneRenderingKey);
GetSceneRendering()->RemoveActor(this, _sceneRenderingKey);
// Base
Actor::OnDisable();
@@ -218,5 +213,5 @@ void SpriteRender::OnTransformChanged()
BoundingSphere::Transform(localSphere, world, _sphere);
BoundingBox::FromSphere(_sphere, _box);
if (_sceneRenderingKey != -1)
GetSceneRendering()->UpdateGeometry(this, _sceneRenderingKey);
GetSceneRendering()->UpdateActor(this, _sceneRenderingKey);
}