Open damibran opened 2 weeks ago
^^^ need review. Вы же этого ожидали? @TheKarasik @if0ne @Crechted @ainurdada
Может PerObjectData isDirty сделать через Event и подписку?
Пока что я не очень понимаю, как это будет доходить до сюда
Может PerObjectData isDirty сделать через Event и подписку?
А что будет в ивенте?
Ну главная проблема в чем: в случае PerObjectData изменяется TransformComponent, а уведомить об изменении нужно какой-то IRenderable.
Я думаю, в TransfromComponent нужно добавить Dispatcher/Notifier, который будет триггериться во всех сеттерах TransfromComponent, если он впервые становится грязным. А подписаться\присоединиться к этому может любой.
67
82
TODO:
PlantUML
@startuml class PSOManager { + void SetCommonDescriptors(ShaderResourceDescriptor); + void SetPerObjectDrawDescriptors(PerObjectData); + PSO* GetPSOfor(MeshID, MaterialID) + PerObjectData* CreatePerObjectDataFor(StaticMeshComponent, isStatic) + ShaderResources* CreateShaderResourcesFor(Material*) + Material* CreateDynamicMaterialInstance(MaterialID) - ShaderResources* CreateDynamicShaderResourcesFor(Material*) } class ShaderResource { - vector