Hi everyone. After several years of developing my own platformer engine, I finally decided to create a thread here

. Maybe someone might be interested, and maybe someone will offer some interesting ideas for further development. The engine can't do much yet, but what it does have is already quite well optimized

. Yes, I know there are similar engines like the Castle Game Engine exist, but my approach is based less on adding as many features as possible, and more on carefully elaborating on the existing functionality.
Supported OS: currently only Windows.
Rendering type: software (OpenGL is used only for outputting the final frame, but shader support is already implemented).
Killer features:
- thanks to the use of special structures like CSR (Compressed Sparse Row), editing even in software mode becomes incredibly fast (the complexity of the calculation depends only on the number of selected points and is almost independent of the number of all existing points on the scene);
- thanks to the "dirty rectangles" technology, scrolling of background objects occurs almost very quickly, which allows for the rendering of very large sprites (more than 30kx30k pixels) as background objects;
- using multi-threaded processing in conjunction with SIMD optimizations, it is possible to achieve quite decent speed even in software rendering mode;
- using CSR technology eliminates the need for dense texture packing and, in particular, mip levels. Only visible pixels are saved and read.
Brief description of main modules:
01. Fast_AnimK : animation(particles,physics,hair,fluid effects etc.);
02. Fast_GL : initializing GLSL shaders;
03. Fast_Graphics : rendering of primitives(like a line, rectangle,circle), filters, blitters, CSR-sprites processing etc.;
04. Fast_UI : working with UI/UX elements;
05. Fast_Scene_Tree : scene object manager;
06. Fast_SIMD : some SIMD powered routines;
07. Fast_Threads : working with threads(implementations of multi-threaded variants of some functions from other modules);
08. Hot_Keys : key mapping;
09. Image_Editor : editing sprites(filters, masks, etc.);
10. Documentation : descriptions of tools from Draw, AnimK, File;
11. Performance_Time: measuring the running time of different sections of code;
All units are in active development and will be supplemented as needed.
github.com/SprE_ngin_E_2_D Several screenshots
