A framework created with Vulkan
Important
This software is still under development and contains many unimplemented or partially implemented features.
Please be cautious when using it.
Feel free to modify it as you wish.
Windows - Build status |
---|
Use the following command to clone the repository.
git clone --recursive https://github.com/kong9812/MyosotisFramework.git
To set up the environment, use the provided batch file envSetup.bat
.
This file will:
- Check if
git
andcmake
are installed on your system. - Install them if they are not already installed.
- Create any required junctions to ensure proper paths and dependencies are set up correctly.
Note
macOS and Linux support is included in the TODO list, but it will take time to make it happen…
Once the environment setup is complete, you can use the following batch file to create the solution file:
cmakeBuild.bat
Note
Build Instructions (in my environment)
To build the project in my environment, follow these steps:
- Run
envSetup.bat
to set up the environment. - Run
cmakeBuild.bat
to configure the project with CMake. - Run
buildAllShaders.bat
to build all the shaders. - Open the solution by double-clicking
bin/MyosotisFW.sln
(Visual Studio 2022). - In Solution Explorer, set
MyosotisFW
as the startup project. - Choose the solution configuration (Debug/FWDLL/Release) and build & run the project.
These steps are just what works for me. If you have any issues, feel free to reach out!
-
Hot Reload Support
The project supports hot reloading, allowing changes to be instantly applied after modification.- Solution Configuration
The solution configuration is set toFWDLL
. Build the project using this configuration to ensure proper operation. - Reload Method
Press theF5 key
to trigger hot reloading.
- Solution Configuration
-
ImGui
ImGui has been integrated into the project, providing an easy-to-use graphical user interface for debugging and development. -
LOD Functionality
Definition of LOD distances (Very Close, Close, Far)
Objects beyond the "Far" distance become hidden. -
Pause Functionality (In Progress)
Press theF2 key
to pause the update process. -
Frustum Culling
-
Deferred Rending
This project is licensed under the MIT License - see the LICENSE file for details.
Important
This software is provided "as is", without any express or implied warranties.
In no event shall the authors or copyright holders be liable for any loss or damages arising from the use of this program.
The authors do not take responsibility for any consequences or losses that may result from using this software.
See THANKS.md for additional credits and attributions.