First Post
Hello World, today is day 45 of development of the engine for Project Aigis. I decided to start this blog to organize my thoughts, and dump some pseudocode.
The engine for Project Aigis currently supports:
Scene: Batches all vertex and matrix information, calls relevant methods for binding and rendering.
Shader: Loads and compiles a GLSL file.
Model: Loads a wavefront model, loads its texture, indices, and processes their nodes.
Mesh: Draws and renders the model
TextureManager: Loads and binds a texture using Sean Barrett's stb_image.h
VertexBuffer: Generates and binds VAOs, VBOs, EBOs, respective attributes (including instancing).
RenderingPipeline: Renders all objects.
The rendering engine's UML diagram is as follows:
The black arrows depict composition. Currently, the rendering engine does not support, but plans to add:
The engine for Project Aigis currently supports:
- 2D Sprites
- Raycasting for sprites
- Loading models via ASSIMP
- GUI and True Type via NanoGUI
- A rendering engine
- A core engine
Scene: Batches all vertex and matrix information, calls relevant methods for binding and rendering.
Shader: Loads and compiles a GLSL file.
Model: Loads a wavefront model, loads its texture, indices, and processes their nodes.
Mesh: Draws and renders the model
TextureManager: Loads and binds a texture using Sean Barrett's stb_image.h
VertexBuffer: Generates and binds VAOs, VBOs, EBOs, respective attributes (including instancing).
RenderingPipeline: Renders all objects.
The rendering engine's UML diagram is as follows:
The black arrows depict composition. Currently, the rendering engine does not support, but plans to add:
- 2D sprite animation
- Remove object vectors and replace them with matrices. The core engine should handle vectors.
- Updating an object's matrix based on some event relayed through the core engine.
Comments
Post a Comment