Skip to content

Releases: vilbeyli/VQEngine

v0.11.0 - Threaded Initialization, PSO Cache, Async Texture Uploading, Culling & DrawBatching Optimized Data & Task Scheduling

21 Jun 04:50
5a138da

Choose a tag to compare

Release Notes

  • Moved to C++20
  • Load time improvements #176
    • Threaded initialization
    • Async texture loading #175
    • PSO caching
  • CPU Performance optimizations #174
    • Optimized the data format used for frustum culling & instance batching to be more cache friendly (SoA)
    • Removed busy waits, added signaling mechanisms & improved job scheduling
  • Renderer
    • Switched to using 3 distinct command queue group: Rendering, Background, Presentation #182
    • Improved command list management & closed state tracking
    • Command queues now use priority: NORMAL, HIGH, REALTIME
    • Refactored & moved draw call batching into renderer
    • Encapsulated texture data management into TextureManager
  • Removed bloat & reduced build times 35%
    • Remove assimp, add cgltf #183
    • reduce C++ reliance, limit header usage
  • UI
    • Light editor can now add/remove lights

image
The new task-based TextureManager, separated disk reads from mip generation & GPU upload tasks, shown in newly threaded initialization sequence

image
The new command list & queue management, enabling background (lower prio) gpu tasks and dedicated presentation queue

image
The dedicated presentation queue, can be toggled on/off from settings

image
image
Before: 6.95ms, After: 4.1ms | CullFrustum+GatherMeshData+BatchInstances+RecordCmds

Issue Fixes

fixes #160
fixes #171
fixes #172
fixes #173
fixes #179
fixes #180
fixes #88

VQE-v0.10.0 - Tessellation, async compute & copy, object picking, magnifier, instanced draw + LODs

12 Jan 06:21
20b2956

Choose a tag to compare

RELEASE NOTES

  • Added Tessellation pipeline for geometry passes
    • Quad + Triangle Domain -- Lines to be added later
  • Added instanced rendering & LODs for built-in meshes: Cylinder, Sphere, Grids
  • Added Magnifier effect
  • Added pixel-perfect object picking & outlining
  • Added vertex displacement through height maps
  • Added Motion Vector rendering
  • Added Asnyc compute & copy queue support
    • Async Compute: Depth Resolve + SSAO
    • Async Copy: ObjectID copy pass
  • Updated DirectX compiler to version 1.8.2407
  • All shaders are now SM6.0 & above
  • Added .exr file support
  • Reduced PBR texture set resolution to 2K from 4K
  • Improved multi-threading, better load & runtime performance
    • Separated meshes & textures into their own worker thread pools
    • Separated shader & PSO loading workers
    • Finer frustum culling & draw call batching to improve thread utilization
  • Added Editor GUI: Materials, Lights & Transforms
  • Added Light bounds rendering for debugging
  • Various stability fixes including resource barriers, race conditions & crashes
  • Updated Tools/7zip to standalone release
  • Updated requirements: CMake 3.4 to 3.24 & Visual Studio 2019 to 2022

VQE_q4sWXO143X
Renderer
MT-Simulation
qrenderdoc_Lthvze2obv

VQE-v0.9.0 - FidelityFX: Stochastic Screen-Space Reflections, SPD, Denoiser

23 May 07:32
343b75e

Choose a tag to compare

RELEASE NOTES

unknown

Features

Rendering

VQEngine-Viz

Engine

  • Graceful exit with error reporting upon device lost instead of crashing
  • Extended EngineSettings.ini: added EnvironmentMapResolution, Reflections options
  • Improved shader compilation
    • PIX can now debug SM6 shaders
    • Extended support for DXC compiler flags
    • Release/Debug shaders are now separately cached
  • Added more built-in materials: Checkerboard_Glossy, Checkerboard_Rough, Checkerboard_Metallic, MetallicBlack_VerySmooth

Scenes

  • Default scene: assigned PBR material to the ground, swapped cylinder with the boombox model, load an environment map
  • Stress Test scene: crank up object count, add randomized materials with compile-time toggles

Bug Fixes

  • Fixed RenderDoc not being able to attach / device lost upon launch
  • Fixed build script failing with file paths with spaces in them
  • Fixed shader include path not resolving correctly
  • Fixed assertion when the window is minimized

VQE-v0.8.0 - ImGui UI & FidelityFX Super Resolution 1.0

08 Nov 06:23
a0bc41f

Choose a tag to compare

RELEASE NOTES

image

Features

Renderer

  • FidelityFX Super Resolution 1.0 integrated with minimal support
    • EASU (Upscaling) & RCAS (Sharpening) passes with sharpness slider, presets and custom upscaling ratio between [0.5, 1.0]
    • TAA, MipBias & HDR are NOT supported with this release and will be added at a later date

Engine

  • Added UI using Dear ImGui
    • Profiler, Graphics Options, Debug Panel and Scene Editor windows with various controls
  • Updated camera controller and mouse capture behavior
    • Left Click : Orbit Camera
    • Right Click : 'FPS' Camera
    • Mouse is now only captured when right or left click is held to operate the camera, and will stay uncaptured while interacting with the UI
  • Removed pipelined Update+Render threads, merged them into a single Simulation thread
    • This change is added to support the ImGui integration as ImGui didn't provide a deferred context without global state, which made the engine architecture incompatible with ImGui by resulting in a race condition when the update thread is writing into the global context that the render thread is reading to draw
    • A preprocessor define VQENGINE_MT_PIPELINED_UPDATE_AND_RENDER_THREADS was added to toggle between the two architectures, although the separate update+render threads disable UI rendering
  • Added frame stat collection

Bug Fixes

VQE-v0.7.0 - Multi-threaded command recording & frustum culling, SM6, Ambient Occlusion

04 Jul 03:05
e309621

Choose a tag to compare

RELEASE NOTES

FFX-CACAO-Sponza
AMD FidelityFX CACAO

Features

Renderer

  • DXC / SM6.0 support
  • Ambient Occlusion
    • AMD FidelityFX - Combined Adaptive Compute Ambient Occlusion (CACAO)

Engine

  • Multi-threaded command recording
  • Bounding Boxes & Multi-threaded view frustum culling
  • Add RGP & PIX markers
  • Skip loading materials if they're not used in the scene
  • Add image downsizing for Environment maps

Bug Fixes

  • Black line at the bottom of the screen when CAS is enabled

VQE-v0.6.0 - Physically Based Rendering (PBR), Environment Maps & Image-based Lighting (IBL), AMD FidelityFX CAS

09 Jan 07:11
b68ff89

Choose a tag to compare

Release Notes

Features

  • Forward Renderer w/ Lighting System
    • Spot Lights (5x w/ shadows)
    • Point Lights (5x w/ shadows)
    • Directional Light (1x w/ shadows)
    • PCF Shadows for all lights
  • UE4's PBR Model Pipeline
    • BRDF
      • NDF : Trowbridge-Reitz GGX
      • G : Smith
      • F : Fresnel_Schlick / Fresnel_Gaussian
    • Metallic / Roughness Maps
    • Emissive Maps
    • Built-in PBR Materials w/ textures from cgbookcase
  • Environment maps
    • Real-time Image-based lighting
    • Cubemap convolutions for pre-filtered diffuse & irradiance maps
  • Post Processing

Known Issues

Controls

Key
WASD+EQ Camera movement
Page Up/Down Change Environment Map
1-4 Change scenes
1 - Default Scene
2 - Sponza
3 - Geometry Test Scene
4 - Stress Test Scene
Shift+R Reload level
C Change scene camera
V Toggle VSync
M Toggle MSAA
B Toggle FidelityFX-CAS
Alt+Enter Toggle Fullscreen
Esc Release mouse

See README.md for details.

VQE-v0.5.0 - Scene/Level System, GPU Event Markers, DPI-awareness, Model Loading (glTF, obj)

15 Sep 07:29
005f15f

Choose a tag to compare

Release Notes

Features

  • XML Scene/Level files & Scene loading
  • VQE is now DPI-aware and will scale properly on high DPI displays
  • PIX GPU Markers
  • Multithreaded Model loading with assimp
    • .glTF
    • .obj

Bug Fixes

Known Issues

VQE-v0.4.0 - HDR, Skybox, VSync, MSAA

10 Aug 20:38

Choose a tag to compare

Pre-release

Release Notes

Features

  • HDR Display support w/ FP16 Swapchain & HDR10 Static Metadata
  • HDR Environment Maps using HDRI Haven
  • PostProcess: Reinhard Tonemapping & Gamma Correction
  • MSAA & VSync support

Bug Fixes

Known Issues

VQE v0.3.0 - Keyboard/Mouse Input & Camera Controller

21 Jul 05:39

Choose a tag to compare

Release Notes

Features

  • Keyboard/Mouse input handling
  • First-Person Shooter Camera Controller
  • Improved Window behavior for Resizing, Alt+Tab & Alt+Enter

Fixed Issues

Known Issues

VQE v0.2.0 - Hello Cube!

14 Jul 21:35
f4a6a90

Choose a tag to compare

Pre-release

Release Notes

Features

Utilities

Bug Fixes

  • Memory leak on Window events (resize + fullscreen)

Known Issues