Commit graph

2107 commits

Author SHA1 Message Date
Stephen Saunders
9ab8c2a4da Init swapChainBufferCount to NUM_FRAME_DATA (all renderers) and clamp to Vulkan surfaceCaps 2023-06-06 11:42:22 -04:00
Stephen Saunders
89ad088ef3 Set r_maxFrameLatency max value constraint to NUM_FRAME_DATA 2023-06-01 01:01:53 -04:00
Stephen Saunders
444b25a1e8 Wait for Vulkan device idle in DestroyDeviceAndSwapChain() to avoid random crashes on exit 2023-06-01 00:53:02 -04:00
Stephen Saunders
85e980421a Change r_maxFrameLatency cvar name and set to default value of 2 frames 2023-05-27 01:40:40 -04:00
Stephen Saunders
8a915b88a4 Enable PCH in CMakeLists for Optick-enabled builds with non-MSVC compilers 2023-05-24 01:11:18 -04:00
Stephen Saunders
9ebe476f4f Remove unnecessary Vulkan cast for m_SwapChain when calling OPTICK_GPU_FLIP() 2023-05-23 14:45:34 -04:00
Robert Beckebans
387c10ee52 Fixed crash in Delta Labs Sector 3 with Vulkan on Linux (Radeon RX 6700) 2023-05-23 17:50:25 +02:00
Stephen Saunders
34332dbeeb Implement m_frameLatencyWaitableObject sync for reduced DX12 frame latency 2023-05-23 08:48:56 -04:00
Stephen Saunders
2b933df6da Enable VSync / Present queue frameID labeling for DX12 2023-05-23 08:24:40 -04:00
Stephen Saunders
22dc020401 Redo Optick D3D12 VSync / Present queue labeling using measured vs. calculated frame latency 2023-05-23 08:19:53 -04:00
Robert Beckebans
5cbca047e7 Merge remote-tracking branch 'SRSaunders/dx12-alt-enter-fix' 2023-05-22 18:36:26 +02:00
Robert Beckebans
1788b9c92f Bumped version to 1.5.1 2023-05-22 18:30:00 +02:00
Robert Beckebans
87bedde244 Fixed PSO creation error in Erebus 3 map. #770 2023-05-22 18:27:32 +02:00
Stephen Saunders
6bb8c1feeb Remove unneeded Vulkan extensions: VK_KHR_present_id + macOS-specifics 2023-05-13 10:22:52 -04:00
Stephen Saunders
cf7883f688 Replace std::llround() with (int64_t) cast in optic_gpu for linux compatibility (no C++23) 2023-05-13 10:07:47 -04:00
Stephen Saunders
2d46e47046 Disable DXGI automatic display mode switching for alt-enter borderless fullscreen 2023-05-12 14:43:07 -04:00
Stephen Saunders
be6088eee4 Extend Optick to support labeling of D3D12 VSync / Present queue with frame IDs 2023-05-12 03:04:06 -04:00
Stephen Saunders
0b510de3e9 Update RenderBackend to select OPTICK_GPU_CONTEXT graphics API at runtime 2023-05-12 03:01:11 -04:00
Stephen Saunders
7c4f41bfd5 Extend Optick GPUContextScope() with typeless prototype for runtime selection of graphics API 2023-05-12 02:40:05 -04:00
Stephen Saunders
6769126b14 Add Vulkan Present / VSync queue profiling if VK_GOOGLE_display_timing extension available 2023-05-04 22:51:30 -04:00
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
Stephen Saunders
a466a7a4ad Restore bounded array in mipmapgen.cs.hlsl for DXIL UAV binding 2023-01-25 21:08:25 -05:00
Stephen Saunders
8fe25bf987 Fix legacy SSAO for NVRHI Vulkan and enable SSAO compute shader alternative 2023-01-25 14:23:14 -05:00
Stephen Saunders
0c7f8be44e Restore rm_precomp_header custom target for makefile / ninja command line builds 2023-01-25 12:42:42 -05:00
Stephen Saunders
ace8829cda Fix ImGui include path handling to be consistent with other external libs 2023-01-25 12:27:32 -05:00
Robert Beckebans
dfcbcc2a0a Ran astyle 2023-01-18 10:16:21 +01:00
Robert Beckebans
0a983d32ad Merge remote-tracking branch 'SRSaunders/cinematic-updates' 2023-01-18 10:04:00 +01:00
Robert Beckebans
6f89d31d19 Applied astyle 2023-01-18 09:55:03 +01:00
Robert Beckebans
68144334b6 Reverted shader related changes in CMakeLists.txt 2023-01-18 09:54:36 +01:00
Robert Beckebans
7a4c56e105 Merge remote-tracking branch 'SRSaunders/basepath-sdl-fixes' 2023-01-18 09:48:04 +01:00
Stephen Saunders
d62e8a1e55 Disable precompiled headers for the Ninja Multi-Config generator on linux & macOS 2023-01-16 11:28:20 -05:00
Stephen Saunders
2565b1f58f Generalize basepath search logic for single-config dev builds on linux/macOS when using make or ninja 2023-01-14 01:37:49 -05:00
Robert Beckebans
eb017e40c5 Cleanup 2023-01-13 14:43:09 +01:00
Stephen Saunders
c4a2f52fbf Simplify precompiled.h.gch cleanup for linux/macOS using post-build custom command 2023-01-12 15:40:35 -05:00
Stephen Saunders
245d06c4d6 Comment out redundant Shaders source groups in main CMakeLists, already handled inside Shaders target 2023-01-12 15:31:18 -05:00
Stephen Saunders
2d1945044a Create macOS app bundle for Xcode release / universal builds, add macOS app icon, update README 2023-01-12 14:46:36 -05:00
Stephen Saunders
502522826a Minor consistency change for USE_VK define in DeviceManager.h 2023-01-09 13:41:23 -05:00
Stephen Saunders
26edabe752 Rename / update macOS cmake build scripts, update README to reflect new names 2023-01-08 00:30:02 -05:00
Stephen Saunders
5137637126 Filter SDL video modes same as on Win32, fix SDL window position drift when exiting fullscreen 2023-01-08 00:25:05 -05:00
Stephen Saunders
7485a123f6 Fix idParser::Directive_include() to properly handle full os path as fetched by idLexer::GetFileName() 2023-01-07 22:53:11 -05:00
Stephen Saunders
1c4883354b Fix linux/macOS CreateOSPath() regression by eliminating path-relative references in fs_basepath 2023-01-07 22:44:42 -05:00
Stephen Saunders
1340adb820 Restore support for FFMPEG legacy channel_layout & channels fields, remove self-assignment in idSoundDecoder_Vorbis::Open()
(cherry picked from commit 22f9e5cc0e42a8d101f628df461ee7649acb3e01)
2022-12-26 12:20:50 -05:00
Stephen Saunders
21b021c3c0 Update FFMPEG deprecated calls to use supported ch_layout structure
(cherry picked from commit c6fca09b0e2e24735ca808e75e90f6d03e4d16e5)
2022-12-26 12:20:42 -05:00
Stephen Saunders
f1b0f2ec00 R_TestVideo_f command fixes and Cinematics startup fix for NVRHI (BinkDec green frame)
(cherry picked from commit 846fcf14c723391c6e6b311eaaeb31926b1e65d1)
2022-12-26 12:20:25 -05:00
Stephen Saunders
600f4de937 Merge branch 'master' of https://github.com/RobertBeckebans/RBDOOM-3-BFG into cinematic-updates 2022-12-26 12:18:55 -05:00
Stephen Saunders
e7b681a06e Build-time perf improvement for PCH, c_str() fix in idCameraAnim::gltfLoadAnim() 2022-12-24 14:10:55 -05:00
Robert Beckebans
21947e8f08 Merge branch 'master' into 635-nvrhi5 2022-12-22 16:49:18 +01:00
Robert Beckebans
5eaa7801db Merge fixes, default models scene remains Scene 2022-12-22 16:46:29 +01:00
HarrievG
defc18ddaa [!] Fixed loading animations when the armatures option is not used.. 2022-12-22 15:27:16 +01:00
HarrievG
0a48ec16d4 [!] Fixes loading animations from different GLTF files
[!] Fixes loading file exclusive skinned models when multiple scenes are present and scene with model is not the default scene.
2022-12-22 15:27:16 +01:00
HarrievG
8496f9bf30 [!] Fixes regenerating bMD5Anim from GLTF animation when source is newer than binary 2022-12-22 15:27:16 +01:00
HarrievG
e5ec631caf [+] Allowing binding of asset library instances in gltf scenes. 2022-12-22 15:27:16 +01:00
HarrievG
1cd57dce1d [!] dont crash when trying to load an animation from and GLB does not match last loaded model glb 2022-12-22 15:27:15 +01:00
HarrievG
0e42fbba93 [!] Root motion transfer fixes. 2022-12-22 15:27:15 +01:00
HarrievG
34d616b08c GLTF model import improvements
- Added rename node option
- Added option for root motion transferal
- Fixed re-orient option parsing
- Fixed last(?) bug in orientation frame conversion
2022-12-22 15:27:15 +01:00
HarrievG
0829898cb4 [!] Fixed loading animated file exclusive models
[!] Fixed reloading of models with a commandline (anims: todo)
2022-12-22 15:27:15 +01:00
HarrievG
e97584642a [!] Make missing joints on player model non-fatal 2022-12-22 15:27:15 +01:00
HarrievG
250c06bfc0 [!] Make checkmodelhierachy non-fatal 2022-12-22 15:27:14 +01:00
HarrievG
8c18d58c49 [+] Added -reorient option to gltf model import 2022-12-22 15:27:14 +01:00
HarrievG
0cf9dac1ef A-Style
# Conflicts:
#	neo/d3xp/Camera.cpp
#	neo/d3xp/Camera.h
2022-12-22 15:27:14 +01:00
HarrievG
31d79dfd36 [~] idAssert -> assert
[+] addOrigin model import option

# Conflicts:
#	neo/renderer/Model_gltf.cpp
2022-12-22 15:25:01 +01:00
HarrievG
bba7ddd665 [!] Merge error fixes
# Conflicts:
#	neo/idlib/MapFile_gltf.cpp
#	neo/renderer/Model_gltf.cpp
2022-12-22 15:22:30 +01:00
Robert Beckebans
407086a603 Astyle 2022-12-19 12:40:45 +01:00
Robert Beckebans
91a33de38e Deleted obsolete cmake shortcut bash files 2022-12-19 12:39:35 +01:00
Stephen Saunders
308892db87 Change DeviceManager_VK Vulkan API calls to NVRHI API, fix vulkan dll unloading bug 2022-12-16 13:42:12 -05:00
Stephen Saunders
591d9d71a7 Clean up macOS cmake build scripts and handle macOS makefile build path within Sys_DefaultBasePath() 2022-12-14 12:50:05 -05:00
Stephen Saunders
cd2bb986c2 Handle macOS / linux differences for build path option within Sys_DefaultBasePath() 2022-12-14 01:30:48 -05:00
Stephen Saunders
7f37eccf61 Extend Sys_DefaultBasePath() to check IDE build path for linux and macOS 2022-12-13 21:28:26 -05:00
Stephen Saunders
55a9950dd8 Support USE_MoltenVK cmake option for macOS NVRHI builds, update xcode cmake scripts 2022-12-12 18:13:55 -05:00
Stephen Saunders
fbeb02df9c Fix Vulkan descriptor set selection within bink and bink_gui shaders 2022-12-12 17:55:08 -05:00
Stephen Saunders
f41cc5e46a Decouple FFMPEG / BINKDEC cmake options from x86-only SSE intrinsics, fix macOS-specific logic for intrinsics and PCH 2022-12-12 17:48:49 -05:00
Stephen Saunders
4dc2a8ca12 Fix compileshaders.cmake to reference USE_VULKAN, fix missing override warning in Model_local.h 2022-12-12 17:35:51 -05:00
Robert Beckebans
3f8bc0a568 Fixed FramebufferInfoEx in CommonPasses 2022-12-06 23:51:49 +01:00
Robert Beckebans
a94f67adaa Point to latest RB/nvrhi/main 2022-12-06 23:43:56 +01:00
Robert Beckebans
22f10571e3 Fixed Win64 build. Renamed USE_NVRHI_VULKAN to USE_VULKAN 2022-12-06 23:28:48 +01:00
Robert Beckebans
e02f2f92c2 Removed obsolete glslang submodule 2022-11-22 18:49:25 +01:00
Robert Beckebans
432af457ca Removed legacy GL/Vulkan backends from CMakeLists.txt 2022-11-22 18:47:31 +01:00
Robert Beckebans
632ad33f80 Write constant buffers if changed or layout changed 2022-11-20 15:42:48 +01:00
Robert Beckebans
c48346c551 Move nvrhi::Device->waitForIdle() back to GL_BlockingSwapBuffers() 2022-11-20 13:37:10 +01:00
Robert Beckebans
74c8a9f94e Always write the constant buffer -> BAD but works 2022-11-20 13:34:46 +01:00
Stephen Pridham
a7f83bf631 Update the render state whenever the constant buffer is written to 2022-11-20 12:52:07 +01:00
Stephen Pridham
47d68fb6e0 Invalid binding set cache if either vertex data or joint data changes 2022-11-20 12:52:07 +01:00
Stephen Pridham
2ac23b0c9b Add back uniformsChanged = false 2022-11-20 12:52:07 +01:00
Stephen Pridham
8f190b85c2 Remove unused comment 2022-11-20 12:52:07 +01:00
Stephen Pridham
7a82dc1c9b Update NVRHI submodule 2022-11-20 12:52:07 +01:00
Stephen Pridham
726c4524e9 Update map buffer calls. Astyle 2022-11-20 12:52:07 +01:00
Stephen Pridham
4af1742b17 Astyle 2022-11-20 12:52:06 +01:00
Stephen Pridham
e3ede978d4 Update to make it easier to switch constant buffer usage 2022-11-20 12:52:06 +01:00
Stephen Pridham
47312f8997 Allow buffer ranges for constant buffers 2022-11-20 12:52:06 +01:00
Stephen Pridham
c1c0334bf2 Fix VK descriptor set slot for motionBlur shader 2022-11-20 12:52:06 +01:00
Robert Beckebans
3a3af32ddb Replaced std::min/max with Min/Max 2022-11-19 16:46:21 +01:00
Robert Beckebans
636e64a1f4 Astyle after merge conflicts 2022-11-18 16:58:08 +01:00
Robert Beckebans
37127cde0e Merge branch 'master' into 635-nvrhi4 2022-11-18 16:51:40 +01:00
Robert Beckebans
8a821c3a7a Astyle 2022-11-18 16:47:29 +01:00
Stephen Saunders
96347cab74 Minor defensive #ifdef change in sdl_vkimp for SetScreenParmsWindowed() - handle non-macOS / non-linux case 2022-11-18 10:30:08 -05:00
Stephen Saunders
afacd8014c Improve timer stats, get / set displayFrequency, implement Vulkan vsync mode 1, fix DX12 vsync mode 0 for fullscreen 2022-11-17 23:42:06 -05:00
Stephen Saunders
8d57d5399b Skip GL_BlockingSwapBuffers() sync during shutdown when in Doom 3 mode (com_smp = -1) 2022-11-14 23:38:55 -05:00
Stephen Saunders
7a7571f88a Fix window resize/fullscreen handling and make consistent between DX12 and Vulkan (Windows & SDL) 2022-11-11 21:51:31 -05:00
Robert Beckebans
f1d7f2ff9e Fixed compile errors 2022-11-11 17:34:38 +01:00
Robert Beckebans
ad78435446 Merge branch '721-gltf2-cameras' into 705-gltf2-import-options 2022-11-11 17:00:47 +01:00
Robert Beckebans
6689d60b74 Passed idImportOptions along the animations loader code 2022-11-11 16:59:36 +01:00
Robert Beckebans
0d5d947f17 Apply import options to glTF2 models 2022-11-11 16:59:36 +01:00
Robert Beckebans
6cbb205ece Hook idImportOptions into idRenderModel*::InitFromFile() 2022-11-11 16:59:36 +01:00
Robert Beckebans
81d70dc5d8 Parse idImportOptions for model declarations 2022-11-11 16:59:36 +01:00
Robert Beckebans
e499514fea Little cleanup of the glTF2 code 2022-11-11 16:59:35 +01:00
Robert Beckebans
891ba7478e Added idMat4::GetTranslation() and some comments 2022-11-11 16:58:19 +01:00
Robert Beckebans
9f50dbc9bc Astyle 2022-11-11 13:12:38 +01:00
HarrievG
389798ee4b [!] Corrected Spot light transforms
[+] Added support for GLTF cameras. useable with idCameraView and idAnimatedCamera
2022-11-11 13:11:21 +01:00
HarrievG
3d366ba386 [!] Fixed runtime reloading for gltf models
[!] Fixed timestamp check for static models
2022-11-11 13:11:21 +01:00
Stephen Saunders
f5745b4ab6 Support window resize and fullscreen changes on Windows and Linux without validation errors 2022-11-10 14:56:18 -05:00
Stephen Saunders
f6e5571d39 Support image depth/stencil format D32S8 when D24S8 not available (e.g. Vulkan on AMD GPUs) 2022-11-10 14:50:09 -05:00
Stephen Saunders
80c56e573d Fix compile errors: DeviceManager.h include path for DX12, sync2 structure initialization typo for Vulkan 2022-11-10 12:19:54 -05:00
Stephen Saunders
f756ef26c2 Move DeviceManager_<API>.cpp files to neo/sys directory for single stream common maintenance 2022-11-08 16:33:29 -05:00
Stephen Saunders
7703d4221d Vulkan timer query fixes, support in-game display mode / window size / vsync changes 2022-11-08 15:27:09 -05:00
Stephen Saunders
1adedfd3fc Vulkan volatile buffer and validation error fixes (sync2, fillModeNonSolid, MoltenVK imageViewFormatSwizzle) 2022-11-08 15:21:50 -05:00
Robert Beckebans
7fb6948777 Merge branch '635-nvrhi3-cleanexit' into 635-nvrhi3 2022-11-03 18:54:56 +01:00
Robert Beckebans
600e50ad50 Astyle 2022-11-03 18:54:38 +01:00
Robert Beckebans
e9284c3818 Use fixed size (-8 -8 0, 8 8 16) bounds for all model based entities for TB 2022-11-02 15:51:12 +01:00
Robert Beckebans
15a9d12661 exportFGD proxymodel fix 2022-11-02 11:44:38 +01:00
Robert Beckebans
1ee669c31f Merge branch 'master' into 635-nvrhi3 2022-10-29 19:09:30 +02:00
Robert Beckebans
3a877568e4 Support glTF2 vertex colors for static models 2022-10-29 19:08:12 +02:00
Robert Beckebans
b53271fc68 No need to set the rotation for the Blender lights 2022-10-29 18:25:56 +02:00
Robert Beckebans
7166b50501 Astyle 2022-10-29 17:42:09 +02:00
HarrievG
889f613610 [+] Ext_KHR_lights_punctual::Point support
[!] Fix for multple collections, entity names will be written out according to the full hierarchy.
2022-10-29 17:37:47 +02:00
Stephen Saunders
3d3658384d Cleanup references to nvrhi::IDevice on shutdown, otherwise device won't clean up properly on final exit 2022-10-28 17:50:48 -04:00
Stephen Saunders
9734df5f01 Fix NVRHI device shutdown for SDL and do additional resource cleanup on exit 2022-10-28 14:11:10 -04:00
Stephen Saunders
8219860378 Clean up NVRHI resources before Sys_Quit(), otherwise non-zero exit code (destructors too late) 2022-10-27 14:52:08 -04:00
HarrievG
2cf8d5c8f9 [+] Recursive entity/collection support for gltf maps
[+] KHR_lights_punctual spotlight support
2022-10-27 12:10:32 +02:00
HarrievG
9589ea300d [+] Inline support for gltf maps; add "inline" 0 property to an idStaticEntity or func_static to not inlude it in the map bsp. Defaults to 1 2022-10-27 12:10:32 +02:00
Robert Beckebans
98ed96adf4 LoadOgg fix 2022-10-27 12:09:47 +02:00
Robert Beckebans
dd69e30e40 Reenabled parallel shader compiling on Windows 2022-10-26 11:09:50 +02:00
Robert Beckebans
b3bab4de96 Merge branch 'master' into 635-nvrhi3 2022-10-26 10:59:41 +02:00
Robert Beckebans
822ff7d860 Astyle 2022-10-26 10:59:22 +02:00
Robert Beckebans
b12379e1af Merge branch '635-nvrhi3-sdl' into 635-nvrhi3 2022-10-25 20:55:54 +02:00
Robert Beckebans
bb79eae285 Turn off SSAO if Vulkan is active 2022-10-25 20:42:16 +02:00
Robert Beckebans
40aec4ca2e Turn off timer queries if Vulkan is active 2022-10-25 20:33:03 +02:00
Robert Beckebans
bdea96cc2a Astyle 2022-10-25 19:11:22 +02:00
Robert Beckebans
7ee1180d22 Build with NVRHI Vulkan by default 2022-10-25 19:10:47 +02:00
Robert Beckebans
b58f009369 LoadOgg fix 2022-10-25 19:02:34 +02:00
Stephen Saunders
9eef374819 Update DeviceManager_VK.cpp for Windows and SDL (linux + macOS) cross-platform portability 2022-10-23 23:31:12 -04:00
Richard Tollerton
bc8882b8a2 Cinematic.cpp: Revert removal of void from METHODDEF(void), etc.
In fd6c589d, all instances of (void) were replaced by (). However, the libjpeg
defines `METHODDEF`, `LOCAL`, `GLOBAL`, and `EXTERN` (see `jmorecfg.h`) are
occasionally used in code as if they are functions:

```
	METHODDEF(void)
	METHODDEF void
init_source( j_decompress_ptr cinfo )
```

fd6c589d therefore breaks these builds when `USE_NEWER_JPEG` is defined, because
several function definitions are missing return types.
2022-10-23 17:49:56 -05:00
Richard Tollerton
a7322c1131 Add various move constructors
Commit 93b8564b requires move constructors for many classes which do not
presently exist; they seem simple enough to add.

Fixes #708.
2022-10-23 17:49:54 -05:00
Stephen Saunders
2ffb89c80e Fix builtin/VR case sensitivity on linux, fix r_useValidationsLayers on macOS when USE_MoltenVK set 2022-10-23 08:45:53 -04:00
Stephen Saunders
86bcffdd00 Build / Source changes for NVRHI on SDL, source cleanup for clang C++17 std, initial macOS NVRHI implementation 2022-10-21 23:46:42 -04:00
Robert Beckebans
ddb2be02ff Merge branch 'master' into 635-nvrhi3 2022-10-20 17:08:08 +02:00
Robert Beckebans
9866e121ba Cleanup & Astyle 2022-10-20 16:40:11 +02:00
HarrievG
b1e198ce57 - fixed dmap crash while trying to merge leaf nodes 2022-10-20 16:28:40 +02:00
HarrievG
3702fb1dec - removal of backface genration in Aasbuild for polygonmeshes. 2022-10-20 16:28:40 +02:00
Robert Beckebans
73b70ce4ba Astyle 2022-10-19 18:26:14 +02:00
Robert Beckebans
0119d754b9
Merge pull request #659 from SRSaunders/vulkan211-fixes
Enable VK_KHR_portability_enumeration for macOS on Vulkan SDK 1.3.211.0 or later
2022-10-19 18:17:30 +02:00
Robert Beckebans
f11ae43dcf
Merge pull request #707 from SRSaunders/compiler-fixes
List.h fix and Doom Classic snprintf() fixes for modern clang and gcc compilers
2022-10-19 18:15:29 +02:00
Robert Beckebans
2a9d846dab
Merge pull request #699 from Admer456/better-idlist-perf
Thanks for the contribution :)
2022-10-19 18:14:19 +02:00
Stephen Saunders
4691a4cf01 Include STL <algorithm> in List.h to define std::copy() for clang 14+
(cherry picked from commit 2c36496af53d89a74cf3e9d7889a019c829afb48)
2022-10-18 14:24:05 -04:00
Robert Beckebans
fc42078ccf Fixed Linux compile issues. Closes #702 #703 2022-10-13 09:37:14 +02:00
HarrievG
67022836c4 ~ Fixed pose root root matrix correction.
- Removed single bone orientation hack
- removed unused code.
2022-10-11 20:48:03 +02:00
Robert Beckebans
e792a586a6 Merge branch 'master' into 635-nvrhi3 2022-10-01 14:22:37 +02:00
Robert Beckebans
f08657cb3f Fixed random Unknown punctuation error while loading a glTF2 model 2022-10-01 13:59:10 +02:00
Robert Beckebans
0991956693 Merge branch 'master' into 635-nvrhi3 2022-09-26 22:13:43 +02:00
Admer
93b8564b6e Add move semantics to idList and idStr
* idListArrayResize uses std::move
* idStr implements move constructor
* and move operator
* mpMap_t also implements a move operator
2022-09-26 20:54:27 +02:00
Robert Beckebans
e4ed5733fc Moved BSP visualization into separate dmap -asciiTree option 2022-09-26 13:32:42 +02:00
HarrievG
28730655a1 Fixed boneless TRS animations 2022-09-26 12:05:50 +02:00
HarrievG
d8f7b72d74 Fixed multiplication order for idRenderModelGLTF::ProcessNode_r 2022-09-26 11:52:49 +02:00
Robert Beckebans
0ede52ba72 Transform entity geometry for dmap -glview .obj output into world space 2022-09-26 11:51:41 +02:00
Robert Beckebans
d8aba3e850 Renormalize normals & tangents from dmap .glb import 2022-09-26 11:50:29 +02:00
Robert Beckebans
ace5c7e87f Merge branch 'master' into 635-nvrhi3 2022-09-26 10:18:23 +02:00
Robert Beckebans
0b677fe752 Fixed dmap .glb world+entity geom for the Y-Up case 2022-09-26 10:06:13 +02:00
Robert Beckebans
02941624f9 Repaired glTF2 animations for the Y-Up case 2022-09-26 00:31:47 +02:00
Robert Beckebans
64cd34412c Fixed math problem and transposed idMat4::ToMat3() 2022-09-26 00:30:20 +02:00
Robert Beckebans
c23a30003b Merge branch 'master' into 635-nvrhi3 2022-09-25 14:41:39 +02:00
Robert Beckebans
868fd1dce3 .glb models require the +Y-Up option to be turned off 2022-09-25 14:16:29 +02:00
Robert Beckebans
abff7d850c Merge branch 'master' into 635-nvrhi3 2022-09-25 13:48:54 +02:00
Robert Beckebans
111c554215 Merge branch '519-background-music' 2022-09-25 13:32:13 +02:00
Robert Beckebans
d36cbec34b Make sound files in base/music/* automatically loop 2022-09-25 13:31:56 +02:00
Robert Beckebans
379057ecaa Cleanup 2022-09-24 21:28:39 +02:00
Robert Beckebans
d3227eb2b0 Sub meshes for entities from Blender work but only without the Y-Up option 2022-09-24 21:06:30 +02:00
Robert Beckebans
03c1a91647 Attempt to use submodels with origin != 0 0 0 2022-09-24 20:13:48 +02:00
Robert Beckebans
cc169f9ba8 Merge branch 'master' into 635-nvrhi3 2022-09-23 19:26:13 +02:00
Robert Beckebans
a02f7dde13 Merge branch '694-nvrhi-vulkan-swapchain' into 635-nvrhi3 2022-09-23 19:21:26 +02:00
Robert Beckebans
283e94269f Removed obsolete HLSL shaders and changed Vulkan descriptor sets 2022-09-23 19:15:01 +02:00
Robert Beckebans
620a1616ed Made sure that struct VS_IN has the same signature for all idDrawVert shaders 2022-09-23 18:04:59 +02:00
Robert Beckebans
4c85798e67 Fixed rendering of the main menu with Vulkan 2022-09-23 09:39:48 +02:00
Robert Beckebans
c55467ef33 Fixed several Vulkan errors 2022-09-22 20:08:07 +02:00
Robert Beckebans
1d456a9026 Probably fixed Vulkan swapchain problem 2022-09-22 18:34:07 +02:00
Robert Beckebans
d6f4ccb072 Extended dmap glview option to print an ASCII art BSP tree in the proc file 2022-09-21 18:38:23 +02:00
Robert Beckebans
6512628af8 Tweaked dmap -glview option to dump an .obj next to the .proc file with similar content 2022-09-20 18:01:18 +02:00
Robert Beckebans
d7d699258b Tweaked dmap -glview option to dump an .obj next to the .proc file with similar content 2022-09-19 20:05:31 +02:00
Robert Beckebans
9307983475 Some code to debug the NVRHI swapchain problem 2022-09-17 20:01:06 +02:00
Robert Beckebans
44d65a6377 Switched nvrhi to github.com/RobertBeckebans/nvrhi.git 2022-09-17 13:37:34 +02:00
Robert Beckebans
f975108e43 Merge branch 'master' into 635-nvrhi3 2022-09-17 09:06:53 +02:00
Robert Beckebans
f426ae3472 Bumped required C++ standard to 14 2022-09-17 08:55:55 +02:00
Robert Beckebans
5569af4f26 Astyle 2022-09-17 08:55:07 +02:00
HarrievG
4401deac27 idList iterator fix
parser cleanup fix
2022-09-17 08:55:07 +02:00
Robert Beckebans
5c01fb206e Astyle 2022-09-17 08:12:31 +02:00
HarrievG
e0d178b14d idList iterator fix
parser cleanup fix
2022-09-17 08:04:34 +02:00
Robert Beckebans
4dbb4bd114 Renamed r_gapi to r_graphicsAPI 2022-09-17 08:01:22 +02:00
Robert Beckebans
322245d9f1 Small fixes to get the ingame AF editor running 2022-09-15 11:44:26 +02:00
Robert Beckebans
25b7680cfb Added Imgui AF editor by Stephen Pridham 2022-09-15 11:03:22 +02:00
Robert Beckebans
f4e84b50db Adapted imgui_stdlib to idStr 2022-09-15 11:02:43 +02:00
Robert Beckebans
86dd5558da Added imgui_stdlib.h interface 2022-09-15 10:36:37 +02:00
Robert Beckebans
2249abbbd8 Updated Imgui to version 1.88 2022-09-15 10:34:02 +02:00
Robert Beckebans
a72b78fd26 Synced renderer with SP branch for the most parts 2022-09-14 18:03:29 +02:00
Robert Beckebans
75b299b6c0 Merge branch 'master' into 635-nvrhi3 2022-09-14 16:26:15 +02:00
Robert Beckebans
55b9937380 Formatted jpeg-6 code with Astyle 2022-09-12 20:47:41 +02:00
Robert Beckebans
a86e001738 Added more Makkon textures to convertMapQuakeToDoom cmd 2022-09-12 18:53:26 +02:00
Robert Beckebans
5d5de028ea Improved Quake .map converter to get Makkon's samplemaps working 2022-09-11 15:34:29 +02:00
Robert Beckebans
4335eed1a7 Added sample sound shaders for looping background music 2022-09-10 22:09:24 +02:00
Robert Beckebans
18a4af8dd4 Formatted terrible oggvorbis code with Astyle 2022-09-10 21:28:59 +02:00
Robert Beckebans
3219e86f01 Also play music after loading a savegame 2022-09-10 21:14:24 +02:00
Robert Beckebans
12c9664a55 Scan for music/*.ogg files and play a different track for each map 2022-09-10 19:52:35 +02:00
Robert Beckebans
7e4694aa3e Merged Ogg Vorbis support from DNF id Tech 4 branch 2022-09-10 14:01:35 +02:00
Robert Beckebans
d7d3694118 Added ancient oggvorbis code from vanilla Doom 3 2022-09-10 13:35:51 +02:00
Robert Beckebans
7f95839129 [bakeLightGrids] Fixed too bright grid points caused by bad cubemap captures 2022-09-06 18:39:47 +02:00
Robert Beckebans
2e6f61f9cb Merge branch 'master' into 635-nvrhi3 2022-09-06 12:24:11 +02:00
Robert Beckebans
4652eb94d9
Merge pull request #646 from davidebeatrici/collisionmodel-contactinfo-material-id-init
cm/CollisionModel: Initialize "material" and "id" fields in "contactInfo_t"
2022-09-05 22:33:15 +02:00
Robert Beckebans
de6ab9d31f Removed #define JPEG_INTERNALS from Cinematic.cpp. Closes #684 2022-09-05 22:29:53 +02:00
Robert Beckebans
539c3a93cd Formatted doomclassic code with Astyle 2022-09-05 22:25:33 +02:00
Robert Beckebans
b04ba7fcfd Fixed GCC compile error caused by the glTF2 code 2022-09-05 22:07:19 +02:00
Robert Beckebans
30b394bd3f Fixed inconsistent override warnings 2022-09-05 21:57:17 +02:00
Robert Beckebans
3c1bcc2153 Fixed Linux compile issues caused by glTF2 code 2022-09-05 19:29:11 +02:00
Robert Beckebans
fd6eee32e3 Removed idVec4i 2022-09-04 16:15:02 +02:00
Robert Beckebans
007c601c58 Merge branch '679-gltf-map-support2' into 679-gltf-map-support-nvrhi 2022-09-04 13:43:31 +02:00
Robert Beckebans
b775de0e99 Merge branch 'master' into 679-gltf-map-support2 2022-09-04 13:41:47 +02:00
Robert Beckebans
4258367037 Fixed glTF2 bounding box calculation if GPU skinning is used 2022-08-16 20:35:52 +02:00
HarrievG
8b5dc677e3 - fixed asserts while converting gltf meshes primitives 2022-08-16 20:26:37 +02:00
Robert Beckebans
f22d7f511b Merge branch '679-gltf-map-support2' into 679-gltf-map-support-nvrhi 2022-08-16 13:45:58 +02:00
Robert Beckebans
f195a7670e Merge branch '635-nvrhi2' into 679-gltf-map-support-nvrhi 2022-08-16 13:44:44 +02:00
Robert Beckebans
3ea4ac29fe Fixed support for glTF2 uint16 weight indices 2022-08-16 13:00:52 +02:00
Robert Beckebans
88b02efd6d Fixed camera clipping with static glTF2 models 2022-08-16 10:41:00 +02:00
Robert Beckebans
5f43800b02 Merge remote-tracking branch 'HarrievG/679-gltf-map-support2' into 679-gltf-map-support2 2022-08-16 09:21:12 +02:00
HarrievG
1d354e995f - fix for file exclusive gltf models 2022-08-15 16:13:04 +02:00
Robert Beckebans
f451b41981 SP: Update debug drawing so that it's only allocating vertex/index buffer once. 2022-08-15 14:28:10 +02:00
Robert Beckebans
1e30b08363 SP: Fix null indexbuffer issue when the validation layers are enabled 2022-08-15 14:20:19 +02:00
Robert Beckebans
b709b4ee6b Merged reloadImages fix from SP branch #674 2022-08-15 13:36:00 +02:00
Robert Beckebans
c52e4c345d ( ) -> () 2022-08-15 12:23:38 +02:00
Robert Beckebans
e243072f56 Merge remote-tracking branch 'origin/679-gltf-map-support2' into 679-gltf-map-support2 2022-08-15 11:16:02 +02:00
HarrievG
457e0e143b - Fixed missing surfaces in multi surface/texture gltf models. 2022-08-14 20:02:06 +02:00
HarrievG
486315c7e7 - removed global gltfParser so it cannot be used as an singleton anymore.
- fixed destruction and cleanup of gltfData and gltfParser
- gltfParser always fixes up skeletonID's for skins that do not have it set.
- fixed gltfData::GetAnimation to also check for duplicates taking multple targets for the same animation into account.
- several boneless animation fixes
[!] [ BUG WARNING ] Be aware -> for some reason models/meshes that use multple textures are not drawn correctly; ATM onlt single texure users are correct.
2022-08-14 13:43:12 +02:00
HarrievG
ecaf297ef6 Allow for multple GLTF/GLB to be loaded at the same time. 2022-08-07 15:56:46 +02:00
HarrievG
d0ff0a7f64 Dont load GLTF data when loading bglb/bgltf 2022-08-07 15:05:14 +02:00
HarrievG
8e889c1804 Fixed non Simdpath for idRenderModelGLTF::UpdateSurface 2022-08-06 20:43:25 +02:00
HarrievG
2ef1fe3ce2 idRenderModelGLTF::NearestJoint 2022-08-04 01:40:59 +02:00
HarrievG
b41411f8d0 Fixed axis conversion for gltfModels with animated translations 2022-08-03 21:44:42 +02:00
HarrievG
7e7ee22f3b AAS support for MapPolygonMehses 2022-08-03 02:14:06 +02:00
HarrievG
b6bccf19d0 Fixed gltf animation bounds. 2022-08-01 22:05:13 +02:00
HarrievG
c5f8af3b66 corrected sw skinning bounds 2022-07-31 21:37:42 +02:00
HarrievG
e56f696c9c - Skinned / animated GLTF models 2022-07-31 12:13:07 +02:00
HarrievG
edf657f50d - Initial GLTF Animation Implementation. For now only supports boneless TRS animations without scale.
![only works with r_UseGpuSkinning 0]!
- Writes bmd5anim for each animation. its not perfect yet but, rot + trans looks good.
- Model tag supports gltf Animations. Indexed the same way as meshes.
- Enabled weights and bone index in ConvertFromMeshGltf
2022-07-10 21:09:25 +02:00
GoGo de Sica
c2b2598ced
Fix include in OpenGL RenderBackend 2022-07-04 00:55:57 +02:00
Robert Beckebans
007ad7dde7 Don't use TAA jitter when capturing env probes! 2022-07-03 14:46:14 +02:00
Robert Beckebans
60330e2d8d Always clear the envprobe FBO for lightgrid capturing 2022-07-03 14:16:04 +02:00
Robert Beckebans
cdc39a0294 Merged some smaller cleanups from the SP branch 2022-07-03 11:26:54 +02:00
SRSaunders
62161be257
Merge branch 'master' into cinematic-updates 2022-07-03 00:12:40 -04:00
Robert Beckebans
d292e46148
Merge pull request #644 from davidebeatrici/sound-openal-pointer-check-array
sound/OpenAL/AL_CinematicAudio.cpp: Remove address check against array, zero out music buffer on shutdown
2022-07-02 14:29:22 +02:00
Robert Beckebans
c824d41152 Fixed merge conflict 2022-07-02 13:01:25 +02:00
Robert Beckebans
374897f750 Merge branch '679-gltf-map-support2' into 679-gltf-map-support 2022-07-02 12:55:10 +02:00
Robert Beckebans
525f00395c Print engine version when starting to write a qconsole.log 2022-06-29 10:24:28 +02:00
Robert Beckebans
1664626bbb Fixed window icon by adding the missing doom.rc 2022-06-28 09:31:57 +02:00
Robert Beckebans
ad922d6f49 Merge branch '655-nvrhi-gpu-skinning' into 635-nvrhi2 2022-06-27 19:56:30 +02:00
Robert Beckebans
539b25d799 Merged GPU skinning code by SP and did additional refactoring 2022-06-27 19:54:20 +02:00
Robert Beckebans
fbc07156d2 Merge branch 'master' into 635-nvrhi2 2022-06-26 15:46:48 +02:00
Robert Beckebans
3d269124b2 Don't generate collision models for every rendermodel in advance
(cherry picked from commit 82928cce8b6544466f4131b9bfd602ab2fa033d6)
2022-06-26 15:29:51 +02:00
Robert Beckebans
a664f8599e Dmap: always write a .cm file, especially when overwriting from a mod dir 2022-06-26 15:29:13 +02:00
Robert Beckebans
04606dc3cf Dmap: always write a .cm file, especially when overwriting from a mod dir 2022-06-26 15:28:15 +02:00
Robert Beckebans
ffd18bf9d4 Fixed duplication of glTF models 2022-06-26 13:24:55 +02:00
Robert Beckebans
5446ae31e4 Fixed binaryzation of .glb models that don't have 'models' as main scene 2022-06-26 12:23:21 +02:00
Robert Beckebans
cd41a6b785 Merge branch 'master' into 635-nvrhi2 2022-06-26 10:27:45 +02:00
Robert Beckebans
844bbb577f Support the Valve 220 texture projection in MapPolygonMesh::ConvertFromBrush() 2022-06-26 10:20:58 +02:00
Robert Beckebans
0364eeb2f9 Automatically remove map collision .cm, .bcm files before running dmap 2022-06-26 10:20:57 +02:00
Robert Beckebans
131e4f1ce3 Crashfix: Don't refesh the screen using prints during engine shutdown. 2022-06-26 10:20:57 +02:00
HarrievG
833f112f4e - gltfMesh support for mesh tag in idDeclModelDef 2022-06-25 15:05:59 +02:00
HarrievG
8030a5b1de - idRenderModelGLTF now set dynamicModel_t to DM_STATIC when no anims are found, or to DM_CONTINUOUS
- idRenderModelGLTF now does only transform the model verts on read for DM_STATIC. Vertices for  dynamicmodels are transformed on instantiation [wip]
- A-Style update
2022-06-24 21:40:08 +02:00
HarrievG
8f80816183 - binary loading/writing for (static) gltfMesh 2022-06-21 22:07:27 +02:00
HarrievG
6840b3a13e - added cnew make batch file for vs2019 2022-06-21 00:44:01 +02:00
Robert Beckebans
90d329c78b Moved FinishSurfaces for gltf 2022-06-21 00:20:25 +02:00
Robert Beckebans
d87d05e82c Split Model_gltf.cpp into idlib/MapFile_gltf.cpp 2022-06-21 00:18:24 +02:00
HarrievG
39bdcba4ba Merge remote-tracking branch 'RB/679-gltf-map-support2' into 679-gltf-map-support2 2022-06-21 00:03:31 +02:00
HarrievG
e84ef1edb2 transform bugs 2022-06-21 00:02:58 +02:00
Robert Beckebans
5f58f73845 Fixed missing generation of tangent spaces for glTF files 2022-06-20 23:57:13 +02:00
HarrievG
18677c0e4a Merge remote-tracking branch 'RB/679-gltf-map-support2' into 679-gltf-map-support2 2022-06-20 22:34:43 +02:00
Robert Beckebans
6e3a048833 Merge remote-tracking branch 'HarrievG/679-gltf-map-support2' into 679-gltf-map-support2 2022-06-20 22:34:25 +02:00
Robert Beckebans
4f6f65f4b8 Ignore line definitions in OBJ files 2022-06-20 22:33:01 +02:00
HarrievG
d0b9d8f8a8 astyle 2022-06-20 22:25:52 +02:00
Robert Beckebans
57b0b9620f Fixed idassert in Release builds 2022-06-20 20:55:50 +02:00
HarrievG
9e4cd947a1 - cleanup YUP define
- added rotation for entities
- models scene can be overriden with cvar
2022-06-20 01:12:45 +02:00
Robert Beckebans
52a99ea5f6 Astyle 2022-06-19 22:25:33 +02:00
HarrievG
44c4ba9e46 - if no meshname is given while trying to load a idRenderModelGLTF, add all primitives from the default scene of that gltf as surfaces 2022-06-19 22:19:27 +02:00
HarrievG
1f22320d37 - correct axis transform for gltf assets 2022-06-19 21:58:43 +02:00
HarrievG
72b535f0ac - Fixed bsp/worldspawn scene node traversal 2022-06-19 01:26:16 +02:00
Robert Beckebans
0cb72166f8 Added missing copyright notices 2022-06-18 11:09:09 +02:00
Robert Beckebans
fd6c589da0 ( ), ( void ) -> () 2022-06-18 10:43:30 +02:00
Robert Beckebans
35d809a145 Astyle 2022-06-18 10:36:48 +02:00
HarrievG
e5ecb219e5 - hierarchical bsp/worldmodel loading
- gltf support for model def. Looks up item within the "models" scene of the target gltf!
2022-06-18 01:18:28 +02:00
Robert Beckebans
b147183658 Don't generate collision models for every rendermodel in advance
(cherry picked from commit 82928cce8b6544466f4131b9bfd602ab2fa033d6)
2022-06-16 12:32:58 +02:00
Robert Beckebans
2d133b6910 Made hashing faster in MapPolygonMesh::GetGeometryCRC() 2022-06-11 11:54:01 +02:00
Robert Beckebans
f7db9d0ab7 Simplified allocations and fixed potential crash if materials are missing 2022-06-11 11:45:09 +02:00
HarrievG
a6d4ca7694 material name is now used as texture/idMaterial 2022-06-10 22:06:38 +02:00
HarrievG
faa9207d01 - Fixed GLTF Mesh -> Polygon Mesh creaton 2022-06-10 10:27:17 +02:00
Robert Beckebans
c0a5f1233d Fixed collision detection and shading 2022-06-09 10:51:20 +02:00
Robert Beckebans
c576583b28 Don't add indices from other polygons 2022-06-08 23:06:17 +02:00
Robert Beckebans
c74ed79e8d Support the Valve 220 texture projection in MapPolygonMesh::ConvertFromBrush() 2022-06-08 21:34:04 +02:00
Robert Beckebans
9216f47572 Automatically remove map collision .cm, .bcm files before running dmap 2022-06-08 21:12:38 +02:00