Av3boy / Av3boy/SharpEngine

SPIKE: Multiple renderers vs one renderer and a Renderable class

Aperta
#55 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
spike
Lingua principale
C#
Stelle
6
Fork
0
Merge medio
1h 1m
PR unite (30g)
2

Descrizione

Investigate what should be the best approach in terms of performance, maintanability and use of use for developers.

If all objects can just inherit the Renderable class and tell how a single renderer should manage them that's fine.
We can also create multiple renderes and objects of different type just tell that specific renderer how they are supposed to be rendered.

How do UI elements and "traditional" game objects differ from each other? The shader tells the gpu where and how it should be rendered and the class itself passes the data to the shaders and the gpu.

# No difference how the renderer renders the object

If we are using just a single `Render` function then a single renderer would make sense. However, iterating through all types of objects and calling `Render` on them may not the be the most performant solution with a single renderer.

Maybe we could create a `Renderer` class that handles rendering of objects of different types.

# Differences in the way objects need to be rendered
TBD: This is the part we need to investigate right now. If there are non, investigate the above and see what is the best / most performant / maintainable solution.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Non vengono indicati file o test. Inizia individuando il renderer esistente, i metodi Render, i tipi correlati a Renderable e i percorsi degli shader, quindi confronta un renderer con renderer specifici per tipo per l’UI e gli oggetti di gioco tradizionali. Il lavoro è completo quando viene documentata un’architettura definita in base a prestazioni, manutenibilità e usabilità per gli sviluppatori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp
Ambito
computer-graphics, game-dev
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.