Stephen Saunders
85a9186c5b
Add Optick profiler support for Vulkan Present / VSync queue via VK_GOOGLE_display_timing extension
2023-05-04 22:51:30 -04:00
Stephen Saunders
4ca70e0e17
Resolve Optick delayed GPU timestamps before dumping data on stop capture
2023-05-04 22:51:30 -04:00
Stephen Saunders
23e313cb6f
Improve Optick Vulkan GPU profiler clock sync to reduce offset errors and drift
2023-05-04 22:51:30 -04:00
Stephen Saunders
18665e34a1
Fix Optick threadTLS nullptr check and OPTICK_SET_MEMORY_ALLOCATOR stub #define
2023-05-04 22:51:30 -04:00
Stephen Saunders
d9d721a73e
Add Optick for Vulkan, remove need for USE_OPTICK_GPU, fix calls to OPTICK_SHUTDOWN()
2023-05-04 22:51:30 -04:00
HarrievG
ab7fefcadc
- Added possibility to use Focal Length / FOV animation with GLTF Camera animations.
...
- Added blenderPy script which shows howto set lenscurves as a custom prop float array containing all evaluated fov values
- minor cleanup to gltfparser and gltfExtras.
- gltfExtra key value pairs can now contain a bracket enclosed string as value
# Conflicts:
# neo/idlib/gltfProperties.h
2023-04-29 12:43:54 +02:00
Robert Beckebans
edb62c15d9
Never commit stuff before testing
2023-04-29 12:22:33 +02:00
HarrievG
03bbf9aaf4
-Fixed timestamp check while loading a camera animation from a gltf file
...
- Set gltfCamera fov to framefov during anim
# Conflicts:
# neo/d3xp/Camera.cpp
2023-04-29 12:02:58 +02:00
Robert Beckebans
ad41a268b0
Fixed crash when executing extract_resources.cfg on Linux
2023-04-29 13:35:07 +02:00
Robert Beckebans
f07d8881b2
Find bone of selected armature if -transfermotion is given
2023-04-18 21:09:10 +02:00
Robert Beckebans
97c302f761
If -DSTANDALONE=ON option is set filesystem will look for content/ instead of base/
2023-04-13 22:04:34 +02:00
Robert Beckebans
d5473c51f1
Added glTF2 import option -nomikktspace
2023-04-13 21:49:39 +02:00
Robert Beckebans
097995d21a
Fixed crash and made the -rotate [yaw] glTF2 import option functional
2023-04-13 21:31:34 +02:00
Robert Beckebans
52acc84901
[glTF2] Fetch all skinned for selected rig
2023-04-12 18:43:26 +02:00
Robert Beckebans
d1d04d70da
Fixed support for static glTF2 models
2023-04-12 14:09:21 +02:00
Robert Beckebans
9e927137c6
Use FindModelRoot() in idRenderModelGLTF::GetAnimBin()
2023-04-12 12:56:01 +02:00
Robert Beckebans
00b27d3141
Extended FindModelRoot logic
2023-04-10 17:17:28 +02:00
Robert Beckebans
c67a1b4379
Added glTF2 code comments
2023-04-09 20:51:01 +02:00
Robert Beckebans
f2739e4abc
Fixed bone hierarchy when -addorigin is used
2023-04-09 20:41:18 +02:00
Robert Beckebans
114dbcd2c3
Some fixes to get the xaero.glb loading. Still broken
2023-04-09 17:24:52 +02:00
Robert Beckebans
0ca9d755a1
Fixed glTF2 root node lookup
2023-04-08 18:47:27 +02:00
HarrievG
cdce094518
gltf GetNode mesh* fix
2023-04-08 15:25:53 +02:00
HarrievG
a8703607d3
+ bug fixes for animated gltf models
...
+ crude attempt to support translation animations on armature bone
# Conflicts:
# neo/renderer/Model_gltf.cpp
2023-04-08 15:25:18 +02:00
Robert Beckebans
bc5b4d97e9
Made idRenderModelGLTF::rootID private
2023-04-08 15:17:07 +02:00
Robert Beckebans
d2115c1a07
Cleanup, indented comments
2023-04-06 15:44:07 +02:00
Robert Beckebans
033282f8d6
Avoid copy constructor in glTF library
2023-04-04 22:36:46 +02:00
HarrievG
41a0c9a310
- Fixed loading gltf models with multiple skinned meshes
...
- All skeletons wil now automatically use the armature node as root bone. In gltfs with a single armature you can name the armature "origin". You can also rename the armature node on import with -rename "armature" "origin".
2023-04-04 22:36:46 +02:00
Robert Beckebans
1d36dcf1a4
Removed glew and updated LICENSE_EXCEPTIONS with new third parties
2023-04-02 16:02:35 +02:00
Robert Beckebans
383d4b84c7
exportEntityDefsToBlender exports to _bl/entities.json
2023-04-02 15:42:14 +02:00
Robert Beckebans
75e6fe2a27
Prefer high performance GPUs in laptops with DX12 #746
2023-04-02 12:31:22 +02:00
Robert Beckebans
8c9f79b28f
Applied Astyle
2023-03-31 12:28:41 +02:00
Stephen Saunders
7880773f1a
Disable Win32 SC_MAXIMIZE for faster borderless fullscreen transitions
2023-03-31 11:54:44 +02:00
Stephen Saunders
acc3038933
Improve SDL desktop window position error handling and sdl_vkimp error reporting
2023-03-31 11:54:44 +02:00
Stephen Saunders
dafed51a79
Simplify VKimp_Init() and remove defunct cvars
2023-03-31 11:54:44 +02:00
Stephen Saunders
b427ec338c
Support Borderless Fullscreen and Borderless Window modes for Win32 and SDL platforms
2023-03-31 11:54:44 +02:00
Robert Beckebans
33b54481d1
Little cleanup
2023-03-30 22:58:59 +02:00
Robert Beckebans
49dc6cee46
Reverted com_smp back to boolean
2023-03-30 19:30:33 +02:00
Robert Beckebans
aeb219589a
Merge branch 'master' into vsync-fixes
2023-03-30 18:10:31 +02:00
Stephen Saunders
e8b76ee1ab
Give each Vulkan swapchain image (vs frame) its own acquire/present semaphore
2023-03-30 01:07:43 -04:00
Robert Beckebans
a05d73ecef
Removed unused cvar r_useHalfLambert
2023-03-29 21:20:19 +02:00
Stephen Saunders
3c4cdea02a
Define r_mvkSynchronousQueueSubmits cvar to control MoltenVK's queue submit option
2023-03-28 12:15:41 -04:00
Stephen Saunders
59b4555bc9
Optimize macOS frame sync / fps by enabling MoltenVK asynchronous queue submission
2023-03-27 15:51:43 -04:00
Stephen Saunders
4207e22e10
Fix frame "Sync" timer calculation to handle Vulkan Vsync modes
2023-03-26 23:32:16 -04:00
Stephen Saunders
98a5d63cdc
nvrhi sync option for DX12 supporting NUM_FRAME_DATA = 2 or 3
2023-03-24 13:15:00 -04:00
Stephen Saunders
5968997562
Fix Vulkan Vsync mode and handle NUM_FRAME_DATA = 2 or 3
2023-03-24 11:29:40 -04:00
Stephen Saunders
2faa15bab5
Fix Vsync mode switching to support all modes: 0 (off), 1 (smart), 2 (on)
2023-03-24 10:04:34 -04:00
Robert Beckebans
fd86362724
Show shadow atlas stats with com_showFPS 3
2023-03-18 14:44:59 +01:00
Robert Beckebans
518af4c257
Enable D3D12 Debug Layer with r_useValidationLayers 2
2023-03-17 19:01:41 +01:00
Robert Beckebans
9f305c2399
Removed stencil shadow volumes with additional fixes by icecoldduke
2023-03-16 20:49:30 +01:00
Robert Beckebans
a6d76a7104
Stencil shadows work but some flicker as bad as in RBDOOM 1.4.0
2023-03-15 12:36:43 +01:00
Robert Beckebans
1e29c5e15d
Fixed r_useShadowAtlas 0
2023-03-14 23:55:37 +01:00
Robert Beckebans
d846b54e72
Fixed most stencil shadows related bugs. Still not working
2023-03-14 22:06:19 +01:00
Robert Beckebans
a5a6bf0e33
Format doomclassic with Astyle too
2023-03-14 10:33:41 +01:00
HarrievG
fd975a8f24
Fixed recursive mesh adding in findEntities for gltf scenes
2023-03-13 19:28:55 +01:00
Robert Beckebans
972a727f1e
Changed animated glTF2 models to be cached like md5 so model overlays work on them
2023-03-13 19:25:30 +01:00
Robert Beckebans
d1c8425153
Store glTF2 source timestamp in .bglb binary cache file
2023-03-13 19:17:07 +01:00
Robert Beckebans
ef9b2e6504
Removed broken aviDemo code. External tools do a better job on this
2023-03-12 12:40:21 +01:00
Robert Beckebans
1c2380e285
Removed obsolete sdl_glimp.cpp
2023-03-11 12:49:44 +01:00
Robert Beckebans
e5519c5fc4
Removed many obsolete #if defined( USE_NVRHI )
2023-03-10 19:25:56 +01:00
Robert Beckebans
a973403fd7
Removed OpenGL code from win_glimp.cpp
2023-03-10 19:02:59 +01:00
Robert Beckebans
95f9b4de4a
Removed more obsolete Vulkan code
2023-03-10 18:49:32 +01:00
Robert Beckebans
f8faac469a
Cleanup of RenderSystem.h
2023-03-10 18:39:53 +01:00
Robert Beckebans
cf9f430d1c
Killed entire HLSL -> GLSL conversion code
2023-03-10 18:23:28 +01:00
Robert Beckebans
8975f59f62
Removed more obsolete Vulkan & OpenGL code
2023-03-10 18:03:20 +01:00
Robert Beckebans
9121f84559
Started to clean up the renderer removing obsolete Vulkan bits
2023-03-10 17:10:25 +01:00
Robert Beckebans
e664ac1665
Speed up bakeLightGrids by turning off vsync temporarily
2023-03-08 18:37:52 +01:00
Robert Beckebans
d17a537d3b
Moved OPTICK_GPU_CONTEXT into #if USE_OPTICK_GPU firewall
2023-03-07 20:25:12 +01:00
Robert Beckebans
fa3589de66
LightEditor: Draw volume of selected light and move it with arrow keys
2023-03-07 18:26:43 +01:00
Robert Beckebans
814e5c2686
Merge branch '750-better-vsync'
2023-03-07 11:23:35 +01:00
Robert Beckebans
5f269a84a6
Merge branch '750-better-vsync' of github.com:RobertBeckebans/RBDOOM-3-BFG into 750-better-vsync
2023-03-07 11:22:52 +01:00
Robert Beckebans
12789bd95e
Added basic support for Optick and D3D12
2023-03-07 11:22:46 +01:00
Robert Beckebans
e98272d708
Merge remote-tracking branch 'SRSaunders/sync-changes' into 750-better-vsync
2023-03-07 10:03:06 +01:00
Robert Beckebans
a09273af32
Fixed compile issues on Linux
2023-03-07 09:45:54 +01:00
Stephen Saunders
5aad7eb005
Disable Metal API Validation for Xcode debug builds
2023-03-07 00:10:46 -05:00
Robert Beckebans
2ad666adcf
NUM_FRAME_DATA cleanup
2023-03-06 20:31:54 +01:00
Robert Beckebans
dc27b0dd40
Fixed merge conflicts and updated copyright notices
2023-03-06 20:06:15 +01:00
Robert Beckebans
9b67e2a91a
Merge branch 'sync-changes' into 750-better-vsync
2023-03-06 19:58:14 +01:00
Robert Beckebans
b4b025979d
Refactored DeviceManager_DX12 members for better diffing with orig Donut sample
2023-03-06 17:05:43 +01:00
Robert Beckebans
d765afa278
Added more profiling events in the render backend
2023-03-06 16:32:20 +01:00
Robert Beckebans
cbdd0b06c8
Merge branch 'master' into sync-changes
2023-03-06 14:59:16 +01:00
Robert Beckebans
d878f99e5c
Added more profiling events
2023-03-06 14:59:04 +01:00
SRSaunders
23c3b66c8f
Merge branch 'master' into sync-changes
2023-03-05 09:44:21 -05:00
Stephen Saunders
764469ab31
Revert #if USE_OPTICK wrappers
2023-03-05 09:36:44 -05:00
Stephen Saunders
378b66075c
Revert screen shot fs_savepath change for Windows and linux
2023-03-05 08:51:34 -05:00
Stephen Saunders
7b9d36c1d1
Revert compileshaders.cmake to use SPIRV target = vulkan1.2 for macOS / MoltenVK
2023-03-05 08:38:59 -05:00
Robert Beckebans
52398a88cd
Changed ENGINE_BRANCH to master
2023-03-05 10:39:59 +01:00
Robert Beckebans
784c46ebc7
Fixed Optick related compile warnings on Linux #750
2023-03-05 11:03:54 +01:00
Stephen Saunders
b1c2cdbec8
More conservative frame sync: wait before vs after DX12 / Vulkan present operations
2023-03-04 21:15:32 -05:00
Stephen Saunders
0c217ebbe9
Fix win32 compilation errors when Optick profiling is off
2023-03-04 21:06:08 -05:00
Stephen Saunders
76da1beefd
Fix compilation errors when Optick profiling is off
2023-03-04 16:39:43 -05:00
Stephen Saunders
c5aa8afe8a
Fix SDL display size / refresh rate changes when already in fullscreen mode
2023-03-04 16:37:02 -05:00
Stephen Saunders
967f38d64b
Save screen shots to fs_savepath versus fs_basepath
2023-03-04 16:19:39 -05:00
Stephen Saunders
f0c61a3f55
Use command queue sync method vs. device sync for higher performance / frame rate
2023-03-04 16:19:39 -05:00
Robert Beckebans
0ac23b5f94
Removed obsolete cvar r_useHDR
2023-03-03 20:48:53 +01:00
Robert Beckebans
c8e32876a0
Removed obsolete cvar r_useSeamlessCubeMap
2023-03-03 20:36:45 +01:00
Robert Beckebans
2583765889
Went back to 15 bits for VERTCACHE_FRAME_MASK
2023-03-03 20:32:48 +01:00
Robert Beckebans
f4f416bc75
Merge branch 'optick-profiler'
2023-03-03 19:53:24 +01:00
Robert Beckebans
c9aefec3ce
Added PROFILE_EVENT to RunFrame()
2023-03-03 19:52:46 +01:00
Robert Beckebans
cfd3981409
Fixed the CMake option -DOPTICK=ON/OFF
2023-03-01 16:50:27 +01:00
Robert Beckebans
b3e9c27d74
Display all the common different threads in Optick
2023-03-01 16:20:37 +01:00
Robert Beckebans
18e0e7f2e7
Fixed crash of RBDoom after stopping an Optick capture
2023-03-01 16:13:48 +01:00
Robert Beckebans
513674c4bf
Added r_graphicsAdapter to select a specific GPU
2023-02-28 22:01:26 +01:00
Robert Beckebans
a441eccfd0
Super basic Optick profiler integration
2023-02-28 18:00:54 +01:00
Robert Beckebans
b8a99d1330
Tweaked DrawFPS maxTime to reduce flickering if V-Sync is on
2023-02-28 10:40:25 +01:00
Robert Beckebans
6ca5eae2c3
Show picked GPU with com_showFPS > 1
2023-02-28 10:32:39 +01:00
Robert Beckebans
c95419e1d9
Small performance fix
2023-02-27 15:57:00 +01:00
Robert Beckebans
a44a691254
Tweaked exportFGD to output more FGDs with autogenerated model definitions
2023-02-24 15:36:29 +01:00
Robert Beckebans
99d7338d12
Blend shadowmaps smoothly in for small distant lights #746
2023-02-24 15:21:19 +01:00
Robert Beckebans
ee3fbb46f0
Skip shadowmaps for small distant lights #746
2023-02-24 13:55:29 +01:00
Robert Beckebans
302eb3fa85
Don't allocate non shadow casting lights into the shadow atlasgit difftool #746
2023-02-24 13:05:38 +01:00
Robert Beckebans
91abc9dffd
Added menu option to choose between DX12 and Vulkan
2023-02-23 20:22:03 +01:00
Robert Beckebans
f1e9d79fb7
Added Stephen Pridham and HarrievG to menu credits
2023-02-23 10:11:58 +01:00
Robert Beckebans
fc7802e007
Astyle
2023-02-23 09:55:53 +01:00
Stephen Saunders
1af7a289d5
Align permitted SDL monitor refresh rates with Windows
2023-02-23 01:48:30 -05:00
Stephen Saunders
395eabb2d2
Fix frame-over-frame timers for F12 screenshots
2023-02-23 01:39:28 -05:00
Robert Beckebans
3ad7774376
Don't display messed up timings caused by taking screenshots using F12
2023-02-22 21:11:13 +01:00
Robert Beckebans
0a1162aea0
Detect displays that only support 144, 165 and 240 Hz
2023-02-22 17:47:21 +01:00
Robert Beckebans
bdd5d8dd81
Merge branch 'master' into vma-integration
2023-02-22 13:19:55 +01:00
Robert Beckebans
204611036e
Removed obsolete shader globs from CMakeLists.txt
2023-02-22 13:04:55 +01:00
Robert Beckebans
e4b7122006
Added cmake .bat files for VS2022
2023-02-22 12:37:41 +01:00
Robert Beckebans
c1fdd0cffb
Fixed SSAO flickering when TAA is off #744
2023-02-22 09:48:00 +01:00
Stephen Saunders
abb3e12d39
Clean up bufferDesc initialization for idUniformBuffer::AllocBufferObject()
2023-02-19 11:30:14 -05:00
Stephen Saunders
2a0341df5f
Enable shaderStorageImageReadWithoutFormat device feature for new SSAO compute shader
2023-02-19 02:25:16 -05:00
Stephen Saunders
82a39cd59a
Improve cvar name for r_vmaAllocateBufferMemory
2023-02-17 10:35:03 -05:00
Stephen Saunders
8c2cae0458
Define r_vmaUseForBufferMemory cvar to control if VMA is used for buffer memory allocation
2023-02-17 00:22:58 -05:00
Stephen Saunders
658521bd22
Fix PCH with VMA allocator for all platforms: Win32, Linux, macOS
2023-02-16 20:22:25 -05:00
Stephen Saunders
5a881847be
Simplify BufferObject_NVRHI logic for VMA, support *Buffer::Reference() for VMA buffer objects
2023-02-16 12:44:09 -05:00
Stephen Saunders
46fc1b8b7c
Add NVIDIA copyright notices to borrowed code in BufferObject_NVRHI.cpp and Image_NVRHI.cpp
2023-02-16 00:39:44 -05:00
Stephen Saunders
3029b80486
Fix posix pthread_yield and readdir_r deprecations on linux
2023-02-16 00:06:43 -05:00
Stephen Saunders
ea2982c445
Improve Vulkan SDK component detection (dxc & MoltenVK) using FindVulkan.cmake module
2023-02-15 23:36:18 -05:00
Stephen Saunders
8ac44895e1
Fix PCH build failures (on linux) when USE_VMA allocator option enabled
2023-02-15 23:00:50 -05:00
Stephen Saunders
86a6e486d5
Set NVRHI upload buffer size to avoid Vulkan staging buffer fragmentation
...
(cherry picked from commit 3a55e9701a6f4ad5297d41e3486aeb4075972383)
2023-02-14 01:11:43 -05:00
Stephen Saunders
73df924ee2
Add VulkanMemoryAllocator (vma) to the libs directory
2023-02-14 01:05:23 -05:00
Stephen Saunders
421160087d
Integrate the AMD Vma allocator for images and buffer objects
2023-02-13 19:06:41 -05:00
Robert Beckebans
a12db413fc
Added missing TAA pixeloffset to SSAO pass
2023-02-11 18:08:00 +01:00
Robert Beckebans
3e201f63be
Switched back to old projection matrix for less warping
2023-02-11 16:36:46 +01:00
Robert Beckebans
01c2db8bbd
Fixed pixelNormal in ssao_compute.cs.hlsl
2023-02-11 15:41:45 +01:00
Robert Beckebans
c4748f584f
Merge branch '649-donut-ssao'
2023-02-11 14:32:08 +01:00
Robert Beckebans
b4d2b03079
Removed old obsolete SSAO minify shader
2023-02-11 14:31:26 +01:00
Robert Beckebans
5de9dd9b68
Donut SSAO is kind of working
2023-02-11 14:24:59 +01:00
Robert Beckebans
2ca5a759c9
Merge branch '649-donut-ssao'
2023-02-08 09:24:39 +01:00
Robert Beckebans
9d45866a1a
Simplified old SSAO backend code
2023-02-08 09:24:23 +01:00
Robert Beckebans
1d1ad26adf
More SSAO experiments
2023-02-07 21:07:29 +01:00
Robert Beckebans
846cf265fb
Added code for debugging Donut's SSAO pass
2023-02-07 15:06:40 +01:00
Stephen Saunders
050c766f9d
Optimization: Skip ssao compute step for 2d gui overlay views
2023-02-04 01:08:46 -05:00
Stephen Saunders
0f869604c9
Run new ssao pass on 3d + 2d overlay views to avoid flickering, skip for 2d-only views
2023-02-03 17:20:25 -05:00
Stephen Saunders
c7ad3f2801
Add required render matrices to SsaoConstants and init them for render pass
2023-01-30 16:00:51 -05:00
Robert Beckebans
defe317c50
Applied MD3 crashfix by Daniel Gibson
2023-01-30 16:28:00 +01:00
Stephen Saunders
6d83ad0f8d
Include modelMatrix in new SSAO compute shader constant buffer
2023-01-29 23:38:40 -05:00
Stephen Saunders
866244ffdd
Fix AmbientOcclusion_blur.ps.hlsl shader for legacy r_ssaoFiltering option
2023-01-29 02:01:15 -05:00