Skip to content

VQE v0.1.0 - Hello Triangle!

Pre-release
Pre-release
Compare
Choose a tag to compare
@vilbeyli vilbeyli released this 24 Jun 09:23
0d5d2f9

Release Notes

First version release of the modern VQEngine: v0.1.0 - Hello Triangle!

Features

Multi-threading

  • 3 Independent threads
    • Main Thread : Handles Windows events and buffers the events for consumption in other threads, ensuring seamless application behavior
    • Update Thread : Simulates scene, prepares data for the Render Thread, doesn't run ahead more frames than the back buffer has.
    • Render Thread: Picks up scene data from the Update Thread and issues draw commands
  • Thread Pools as worker threads for the Update and Render thread for parallelizing workloads, scaled by available threads on the system.

DXGI Window Management & D3D12 Rendering

  • 3 Display Modes supported
    • Windowed
    • Borderless Fullscreen
    • Exclusive Fullscreen
  • Multiple windows supported on multiple monitors
  • Alt+Enter Fullscreen transitions for both Borderless & Exclusive modes
  • Hello World Triangle rendering in D3D12 with synchronized Update & Render threads

Utilities

  • Logging to File and a separate Console window
  • Command-line parameters
  • Configurable settings through EngineSettings.ini file in Data/ folder next to the executable
    • Set resolution
    • Set preferred monitor
    • Set fullscreen window
    • Set Debug window properties (visible, resolution, fullscreen, preferred monitor)

Automated Build & Testing

  • Build/PackageEngine.bat to sync dependencies, generate project files, build in release mode and package the binaries for distribution
  • Build/GenerateProjectFiles.bat to sync dependencies and generate project files
  • Scripts/TestVQE.bat to test run VQE.exe for a specified number of frames (1000 default)

Known Issues

  • Memory leak on Window events (resize + fullscreen). This'll be fixed on v0.2.0.