Releases: JaimeBea/UPCMasterEngine
Releases · JaimeBea/UPCMasterEngine
Release list
First Assignment
First Assignment
Contains the files necessary to execute the engine for Assignment 1 plus some extra features.
Extra Features
- Basic templated pool data structure to allow for faster allocation/deallocation of resources.
- Rendering to framebuffers to show the scene inside an ImGui window.
Assignment Content
- The build should be compiled in Release with all (and only) the material needed for execution
(including two other sample geometries to load). - Baker_house should be automatically loaded at the start.
- Your own two models must be in FBX format with one channel diffuse texture in DDS format.
- It should accept drag&drop of FBX files and textures (only to show the last dropped) from anywhere
in the Hard Drive. Remove the current geometry is another one is dropped. - To find a texture try (LOG every step):
a. First check on the path described in the FBX
b. Then check on the same folder you loaded the FBX
c. Last, try in your own “Textures/” folder - It should feature Unity-like camera controls:
a. While Right clicking, “WASD” fps-like movement and free look around must be enabled.
b. Mouse wheel should zoom in and out.
c. Alt+Left click should orbit the object.
d. Pressing “f” should focus the camera around the geometry.
e. Holding SHIFT duplicates movement speed. - Have a console window that should LOG the geometry loading process from ASSIMP
a. This means that all the debug output from ASSIMP must be captured on our console. - There must be a configuration window containing at least:
a. A graph for the frames per second
b. Configuration for all variables on each module (renderer, window, input and textures)
c. There must be information output with FPS graph, memory consumption, hardware detection
and software versions (SDL, OpenGL, Devil). - The camera must adapt to the size of the geometry after being dropped to move far or close
depending on the scale of the geometry. - There must be a general menu with option to quit, visit the github page, and get info about the
engine (“About”). It should also be able to turn on/off editor windows - A properties window with three sections: transformation, geometry and texture. All should give
read-only information about the current loaded meshes and texture (triangle count, texture size). - If the FBX file contains multiple meshes, the system must be able to load all of them without
applying transformations. It should only need to load one texture at a time. - If the window changes its aspect ratio the graphics should not deform.
- The window size of the editor must be in relation to the desktop size (you can request the desktop
screen size from SDL).