submodules:
[demo] / notes
1           +-------------------+       +-------------------+       +---------------------+
2           |                   |       |                   |       |                     |
3           |                   |       |                   |       |                     |          +---------------------+              we need a second renderer for the
4           |       scene       |       |       object      |       |   static renderer   ++         |                     |              objects (1 renderer per scene =>
5           |                   |       |                   |       |                     ||         |    renderer of      |                      we can load/update the shader
6           |                   |       |                   |       |                     +----------+    the objects'     +----------+           once for all the objects - we
7           +--------+----------+       +--------+----------+       +-----------+---------+          |    scene            |                      might have hundreds)
8                    |                           |                              |                    |                     |                                 +
9                                                |                              |                    +---------------------+                                 +
10 it stores all the resources                    |                              |                                                                       it will need
11 responsible for loading, cleanup               |                              |                                                                       GL/VK backends
12 storage                                        |                              +-------------------------------------------------+                     all the draw functions!
13                                                |                                                                                |                                                    
14 it creates the objects using                   +                                                                                +                          +                        
15 the assimp nodes info                       contains:                                                              the static renderer stores all          |
16 (assigns mesh, material and            +--+  * ptr to mesh (geometry)                                              the information about the world         |
17  testures to objects)                  |     * ptr to material (contains ptr to texture) +--+                      and the static scenes                   |
18                                        |            -----------                             |                                                              |
19                                        |     * transformation (Mat4)                +-------+------+               (shaders, modelling, viewing,           |
20                               +--------+-----+                                      |              |               camera transformations)                 |
21                               |              |                                      |   Texture    |                                                       |
22                               |     Mesh     |                                      |              |                                   +                   |
23                               |              |                                      ++-----------+-+                                   |                   |
24                               +-+----------+-+                                       |           |                                     |                   |
25                                 |          |                               +---------+-+     +---+--------+                            |                   |
26                          +------+-----+ +--+---------+                     |           |     |            |                            |                   |
27                          |            | |            |                     | TextureGL |     |  TextureVK |                            +---------+---------+
28                          |   MeshGL   | |  MeshVK    |                     |           |     |            |                                      |
29                          |            | |            |                     +-----------+     +------------+                                      |
30                          +------------+ +------------+                                                                                           |
31                                                                                                                                                  |
32                                                                                                                                                  |
33                                                                                                                                     +------------+------------+
34                                                                                                                                     |                         |
35                                                                                                                                     |   shader/shader prog    |
36                                                                                                                                     |                         |
37                                                                                                                                     +--+-----------------+----+
38                                                                                                                                        |                 |
39                                                                                                                        +---------------+----+       +----+------------+
40                                                                                                                        |   ShaderProgramGL  |       | ShaderProgramVK |
41                                                                                                                        +--------------------+       +-----------------+
42