Commit graph

1563 commits

Author SHA1 Message Date
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