VQE is VQEngine: A DX12 rewrite of VQEngine-Vanilla for fast prototyping of rendering techniques and experimenting with cutting-edge technology.
VQE aims to support
- Automated build & testing
- Multi-threaded, highly parallel execution
- Update & Render Threads
- ThreadPool of worker threads
- Multiple monitors
- HDR display support (WIP)
- Real-time and offline Ray Tracing (WIP)
See Releases if you want to download the source & pre-built executables.
Make sure to have pre-requisites installed
Then, run the build scripts in Build/
folder,
GenerateSolutions.bat
to build from source with Visual StudioVQE.sln
can be found inBuild/SolutionFiles
directory
PackageEngine.bat
to build and package the engine in release modeVQE.exe
can be found inBuild/_artifacts
directory
VQE.exe
can be configured through a settings file EngineSettings.ini
in Data/
folder next to it.
It also supports some command line parameters.
VQE supports the following command line parameters:
CMD Line Parameter | Description |
---|---|
-LogConsole |
Launches a console window that displays log messages |
-LogFile=<string> |
Writes logs into an output file specified by %FILE_NAME% . Example: VQE.exe -LogFile=Logs/log.txt will create Logs/ directory if it doesn't exist, and write log messages to the log.txt file |
-Test |
Launches the application in test mode: The app renders a pre-defined amount of frames and then exits. |
-TestFrames=<int> |
Application runs the sepcified amount of frames and then exits. Used for Automated testing. Example: VQE.exe -TestFrames=1000 |
-W=<int> -Width=<int> |
Sets application main window width to the specified amount |
-H=<int> -Height=<int> |
Sets application main window height to the specified amount |
-ResX=<int> |
Sets application render resolution width |
-ResY=<int> |
Sets application render resolution height |
-FullScreen |
Launches in fullscreen |
-VSync |
Enables VSync (TO BE IMPLEMENTED) |
-TripleBuffering |
Initializes SwapChain with 3 back buffers |
-DoubleBuffering |
Initializes SwapChain with 2 back buffers |
VQE can be configured through Data/EngineConfig.ini
file
Graphics Settings | |
---|---|
ResolutionX=<int> |
Sets application render resolution width |
ResolutionY=<int> |
Sets application render resolution height |
VSync=<bool> (TO BE IMPLEMENTED) |
Toggles VSync on/off based on the specified <bool> |
Engine | |
---|---|
Width=<int> |
Sets application main window width |
Height=<int> |
Sets application main window height |
Note: Command line parameters will override the EngineSettings.ini
values.
File | |
---|---|
GenerateSolutions.bat |
What it does - Initializes the submodule repos - Runs CMake to generate visual studio solution files in Build/SolutionFiles directory - Launches Visual Studio Flags - noVS : Updates/Generates VQE.sln without launching a Visual Studio instance Example : GenerateSolutions.bat -noVS while VS is open to update solution files after modifying CmakeLists.txt without closing/relaunching VS |
PackageEngine.bat |
What it does - Runs GenerateSolutions.bat if the visual studio solution doesn't exist - Builds the engine in Release configuration - Moves build output into Build/_artifacts folder Flags -Clean : Runs Clean on VQE.sln projects before building -DebugOnly : Builds the Debug binaries only -Debug : Builds Debug binaries in addition to Release -RelWithDebInfo : Builds the Release binaries with Debug info in addition to Release Note: Release build is always on by default, unless -DebugOnly is specified Example: PackageEngine.bat -Clean -Debug -RelWithDebInfo will build all configurations after running Clean and copy the binaries into Build/_artifacts folder |
TestVQE.bat |
What it does - Runs VQE.exe with testing parameters, making the engine exit after rendering specified number of frames (1000 default). Flags -Debug : Tests the Debug build in addition to the Release build |