Av3boy / Av3boy/SharpEngine

SPIKE: Multiple renderers vs one renderer and a Renderable class

Ouverte
#55 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
spike
Langage dominant
C#
Étoiles
6
Forks
0
Merge moyen
1 h 1 min
PR mergées (30 j)
2

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Aucun fichier ni test n’est nommé. Commencez par localiser le renderer existant, les méthodes Render, les types liés à Renderable et les chemins des shaders, puis comparez un renderer avec des renderers spécifiques à chaque type pour l’UI et les objets de jeu traditionnels. Le travail est considéré comme terminé lorsqu’une architecture arrêtée, fondée sur les performances, la maintenabilité et l’utilisabilité pour les développeurs, est documentée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp
Domaine
computer-graphics, game-dev
Type d'issue
Refactorisation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.