Commit graph

1514 commits

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