refactoring for editor foundation
Refactored rendering and culling systems and made broader architectural changes to decouple the game from the application layer.
Rendering & Culling
- Refactored frustum culling logic to be lil more performant and generally cleaner
- Cleaned up and improved parts of the rendering pipeline since i had alot of old unused code lurking in them since i switched to a multithreaded architechture
Application Architecture
the engine is now structured around an ApplicationLayer system.
- The core
Applicationclass now runs a single activeApplicationLayer - Each layer exposes:
InitUpdateRenderShutdown
Game class refactor
- The
Gameimplementation has been converted into a derivedApplicationLayer - Game logic is now fully driven through the layer system instead of hardcoded to the application class (the different executable mains decide now)
Editor Layer
- added a new
EditorLayer - Intended for a future scene editor application.
(right now all it does is render a given scene on the screen)
CMake changes
reworked the project to generate multiple executables:
-
obliberry_enginecore engine executable (ig runtime) -
obliberry_editoreditor application layer
changes:
- Engine and core systems (i.e ObSL, Renderer, etc) are now compiled as libraries
- Executables link against shared engine libraries instead of duplicating code
- Editor executable links against engine modules
summary
- Game logic is now layer-based
- Engine and tools are separated
- Editor can proceed independently from the game runtime
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.