- Ray Tracing with the Vulkan API (Vulkan SDK 1.1.101.0) is now working on Windows and Ubuntu through our unified Ray Tracing interface in IRay.h:
PC Ubuntu Vulkan RTX, GeForce RTX 2070, Driver Version 418.56 1080p
PC Windows 10 RS5, DirectX12, GeForce RTX 2070, Driver version 418.81 1080p:
Mac Mini with Intel Core i5 3GHz cpu with integrated graphics Intel UHD Graphics 630 (Part No. MRTT2RU/A) with resolution 3440x1440:
iPad 6th Generation iOS 12.1.3 (16D39) with a resolution of 2048x1536
- New Descriptor Memory Management System: we did a second pass over that system and improved performance and memory consumption further. Now we can group individual descriptor bindors into a single one. A lot of bug and memory leak fixes were done as well.
- Async / Sync Resource Loading system: instead of allocating additional memory, it uses now fixed size memory and splits resources for upload
- Unified UniformRingBuffer and MeshRingBuffer into GPURingBuffer
- Vulkan: we implemented now something close to the official recommendation how to convert "Vsync on/off" to Vulkan parameters (in pseudocode) (thanks to Adam Sawicki
@Reg__):
if mEnableVsync:
Try to find among available present modes, in this order: FIFO_RELAXED, FIFO
else:
Try to find among available present modes, in this order: IMMEDIATE, MAILBOX, FIFO (we prefer here FIFO_RELAXED instead)
if chosen mode == IMMEDIATE:
imageCount = (Fullscreen ? 2 : 3)
else if chosen mode == MAILBOX:
imageCount = 3
else if chosen mode == FIFO or FIFO_RELAXED:
imageCount = 2
imageCount = max(VkSurfaceCapabilitiesKHR::minImageCount, min(imageCount, VkSurfaceCapabilitiesKHR::maxImageCount))