Av3boy / Av3boy/SharpEngine

SPIKE: Multiple renderers vs one renderer and a Renderable class

Abierto
#55 0 comentarios 0 reacciones 0 asignados Ver en GitHub
spike
Lenguaje dominante
C#
Estrellas
6
Forks
0
Merge medio
1 h 1 min
PR fusionados (30 d)
2

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

No se nombran archivos ni pruebas. Empieza localizando el renderer existente, los métodos Render, los tipos relacionados con Renderable y las rutas de shaders; después, compara un renderer con renderers específicos por tipo para UI y objetos de juego tradicionales. Se considera terminado cuando se documente una arquitectura decidida en función del rendimiento, la mantenibilidad y la usabilidad para desarrolladores.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp
Área
computer-graphics, game-dev
Tipo de issue
Refactorización
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.