notes on the design - will be updated
authorEleni Maria Stea <estea@igalia.com>
Mon, 3 Jul 2017 08:30:57 +0000 (11:30 +0300)
committerEleni Maria Stea <estea@igalia.com>
Mon, 3 Jul 2017 08:30:57 +0000 (11:30 +0300)
notes [new file with mode: 0644]

diff --git a/notes b/notes
new file mode 100644 (file)
index 0000000..953dad2
--- /dev/null
+++ b/notes
@@ -0,0 +1,42 @@
+          +-------------------+       +-------------------+       +---------------------+
+          |                   |       |                   |       |                     |
+          |                   |       |                   |       |                     |          +---------------------+              we need a second renderer for the
+          |       scene       |       |       object      |       |   static renderer   ++         |                     |              objects (1 renderer per scene =>
+          |                   |       |                   |       |                     ||         |    renderer of      |                      we can load/update the shader
+          |                   |       |                   |       |                     +----------+    the objects'     +----------+           once for all the objects - we
+          +--------+----------+       +--------+----------+       +-----------+---------+          |    scene            |                      might have hundreds)
+                   |                           |                              |                    |                     |                                 +
+                                               |                              |                    +---------------------+                                 +
+it stores all the resources                    |                              |                                                                       it will need
+responsible for loading, cleanup               |                              |                                                                       GL/VK backends
+storage                                        |                              +-------------------------------------------------+                     all the draw functions!
+                                               |                                                                                |                                                     for
+it creates the objects using                   +                                                                                +                          +                         unctions
+the assimp nodes info                       contains:                                                              the static renderer stores all          |
+(assigns mesh, material and            +--+  * ptr to mesh (geometry)                                              the information about the world         |
+ testures to objects)                  |     * ptr to material (contains ptr to texture) +--+                      and the static scenes                   |
+                                       |            -----------                             |                                                              |
+                                       |     * transformation (Mat4)                +-------+------+               (shaders, modelling, viewing,           |
+                              +--------+-----+                                      |              |               camera transformations)                 |
+                              |              |                                      |   Texture    |                                                       |
+                              |     Mesh     |                                      |              |                                   +                   |
+                              |              |                                      ++-----------+-+                                   |                   |
+                              +-+----------+-+                                       |           |                                     |                   |
+                                |          |                               +---------+-+     +---+--------+                            |                   |
+                         +------+-----+ +--+---------+                     |           |     |            |                            |                   |
+                         |            | |            |                     | TextureGL |     |  TextureVK |                            +---------+---------+
+                         |   MeshGL   | |  MeshVK    |                     |           |     |            |                                      |
+                         |            | |            |                     +-----------+     +------------+                                      |
+                         +------------+ +------------+                                                                                           |
+                                                                                                                                                 |
+                                                                                                                                                 |
+                                                                                                                                    +------------+------------+
+                                                                                                                                    |                         |
+                                                                                                                                    |   shader/shader prog    |
+                                                                                                                                    |                         |
+                                                                                                                                    +--+-----------------+----+
+                                                                                                                                       |                 |
+                                                                                                                       +---------------+----+       +----+------------+
+                                                                                                                       |   ShaderProgramGL  |       | ShaderProgramVK |
+                                                                                                                       +--------------------+       +-----------------+
+