- Setting up project for cross-platform build support
- Import mesh/textures
- Rendering in a scene
- Keyboard & Mouse inputs
- Window resize
- Importing c# written fluid-simulation in this engine
- Migrating 2D spatial hashing
- Shader pipeline
- Support for mac
- Find a way to debug coding after built application
- Add Proper logging & profiler system
- Create Basic UI elements like a button and text
- Documentation & UML Diagrams
- Auto UML Creator tool
- Implement ECS
- Add physics library (jolt / physx / box2d / bullet3) -> physx
- Add FPS Counter
- Implementing PhysX (left handed or right handed)
- Multithreading for rendering and update loop
- Creating library for performing maths functions
- Reworking camera system and merging rotations with other objects in game using new custom math library
- Implement Tracy throughout engine especially for tracking memory allocations
- Creating vehicle using PhysX
- Break...
- Updating bash files for supporting physx on mac and web builds
- Creating wrapper for switching between different physics engine
- If simple, add basic light and sky box
- Position, Scale, Rotation handles after selecting objects
- Improving current shader pipeline to handle shaders dynamically
- Create Unique ID generator for items
- Documenting done items and different approaches and used libraries
- Researching on auto-build deployment and build status
- On repo update - auto build emscripten for web and upload
- Creating support for multi-scene compilation
- File Manager (Reading from file paths and avoiding enums)
- Ability to read/write on file for saving import references (instead of hard-coded enums)
- Create build modes for debug and release
- Find a way to isolate and build code while developing simulations
- HTML navigation multi scenes on demand (async download and load scenes)
- Support for window
- Create a template for dump-testing shaders
- Add Unit Testing
- Dynamic Window Layout & save'n'load
- Simple tool for importing files like textures/meshes
- Setting up Vulkan
- Creating 3D spatial hashing (showcase & in-built)
- Unix Console on Mac
- Mac (x84) (Rosetta)
- Windows
- Web
- Emscripten
- OpenGL ES3
- Mac:
OpenGLES/ES2/gl.h
- Emscripten:
GLES2/gl2.h
- Mac:
- SDL/SDL2 (mac framework) or GLFW
- Imgui
- Tracy Profiler
- Run project/console/setup.sh to install packages
- Run project/console/build.sh to build the project (auto runs the executable)
- Run project/emscripten/build.sh to build the project for web
- Run project/macos/setup.sh and run Physicat.xcodeproj and hit play button
Activate PATH and other environment variables in the current terminal $source ./emsdk_env.sh
- Explore what's happening in internal_ptr script with the templates and internal_ptr thing
- Empty namespaces name declaration & using namespaces vs include headers
- Engine Structure
- ECS
- Optimization
- Setting up Emscripten
- Building for cross platform
- Main Update in Emscripten
- Pimpl Pattern
- SDL Renderer
- Ray Marching
- Fluid
- Shaders
- Collision Querying
- Basic's of c++ to make sure, code is written the right way
- Matrices