aconstlink / natus

[Discontinued] Software Framework for Audio/Visual/Interactive Real-Time Applications
https://aconstlink.de
MIT License
0 stars 0 forks source link

2d Sprite Renderer #243

Open aconstlink opened 3 years ago

aconstlink commented 3 years ago

For rendering many animated sprites efficiently, a sprite renderer is required.

The main job of the sprite renderer should be to accumulate all sprites that need to be rendered in a per layer scheme. Lower layers are rendered first. The renderer needs a description of all possible sprite animations possible where a single animation could be instantiated many times at different orientation, position, time and so forth.

As a first approach, the animation is done on the CPU and all data is transferred to the GPU using an array object where vertex pulling and quad rescale can happen.

For more efficient access to the data, all sprites should be encoded into a single image texture if possible or provided by a texture array. The texture array feature does not exist at the moment [#231].