solarus-games / solarus

This repository was moved to GitLab: https://gitlab.com/solarus-games/solarus
http://www.solarus-games.org
Other
710 stars 134 forks source link

Intermediate surfaces removal, draw code cleaning. #1188

Closed stdgregwar closed 6 years ago

stdgregwar commented 6 years ago

Removes most of the engine-defined intermediates surfaces that were used to achieve transitions and that were, because 2D acceleration changes, the new bottleneck of the draw system.

A concept of DrawProxy is introduced, which controls how surfaces are drawn. These allow to merge all drawing paths, including shaders.

At the price of some uglyness in Shader::draw, we gain full constness in Drawable::draw... can be debated.