World should be purely using Descriptors + Elements, no Realizations #409
Labels
No labels
Context: Async
Context: Bug
Context: CI
Context: Dependencies
Context: Documentation
Context: Enhancement
Context: Example
Context: Macro
Context: Runtime
Difficulty: Easy
Difficulty: Hard
Difficulty: Medium
Platform: Android
Platform: Linux
Platform: Web
Platform: Windows
Platform: iOS
Platform: macOS
Type: Discussion
Type: Evaluation
Type: Tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
SakulFlee/Orbital#409
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In preparation for #408 and #372, we should make
Worldto be purely based on*Descriptors +Elements.This change will make
Worldmuch more flexible, in addition to being easier to understand and handle.We wouldn't need all those queue's anymore and making it more Async friendly (like proposed in #388).
Additionally, any
Rendererimplementation then can decide on their own what to do with the*Descriptors: Caching vs. No Caching, Indirect vs. Direct, etc.Futhermore, additional systems like Physics Engines can also purely work and interact with
*Descriptors, while having their own realized data internally.To make this change easier to work with for e.g. caching, we should also keep a list of changes, a
ChangeList, that is accumulated each update cycle.Any subsystem, like
Renderer, should have the option to either get specific or all*Descriptors, or, use theChangeListto find out what was changed (should be especially useful for caching approaches).