Commit graph

1245 commits

Author SHA1 Message Date
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
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
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
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
Robert Beckebans
86b94dc8be Crashfix: Don't refesh the screen using prints during engine shutdown. 2022-06-08 21:10:36 +02:00
Robert Beckebans
4e0199b75c Entity glTF2 Y-Up -> Doom coord conversion 2022-06-07 22:48:36 +02:00
Robert Beckebans
e095e95173 glTF2 -> dmap triangulation bugfixes 2022-06-07 22:39:16 +02:00
Robert Beckebans
e86a8d1734 Crash fix when closing the engine 2022-06-07 22:04:43 +02:00
Robert Beckebans
d69db4ebad Fixed rebase conflicts 2022-06-06 17:36:18 +02:00
Robert Beckebans
c3098186b5 Small glTF2 coords change 2022-06-06 17:24:47 +02:00
Robert Beckebans
24845c7edf gltf2 -> idMapFile fixes. dmap and map commands work
# Conflicts:
#	neo/idlib/containers/List.h
2022-06-06 17:24:47 +02:00
HarrievG
50bb904e22 [!] compile fix 2022-06-06 17:24:38 +02:00
HarrievG
e19e4f2b05 Update Model_local.h 2022-06-06 17:24:38 +02:00
HarrievG
c1c5917cda + id style gltf2 parser
+ initial attempt to dmap glb/gltf
[!] added blend file and glb for debugging purposes

# Conflicts:
#	neo/idlib/containers/List.h
2022-06-06 17:24:37 +02:00
Robert Beckebans
1d62816a77 Fixed most annoying compiler warnings on Linux 2022-05-19 16:47:24 +02:00
Robert Beckebans
f1139f7a33 Fixed unknown event 772 error on Linux 2022-05-09 14:07:19 +02:00
Stephen Saunders
308d0138cb sound/OpenAL/AL_CinematicAudio.cpp: Zero out music buffer on shutdown 2022-03-23 23:17:06 +01:00
Davide Beatrici
d88fa4f694 cm/CollisionModel: Initialize "material" and "id" fields in "contactInfo_t"
The Dark Mod only does it in idCollisionModelManagerLocal::ContentsTrm().

Prey only initializes "id", in idCollisionModelManagerLocal::Translation().
2022-03-18 03:11:35 +01:00
Davide Beatrici
229496cffb sound/OpenAL/AL_CinematicAudio.cpp: Remove address check against array
neo/sound/OpenAL/AL_CinematicAudio.cpp:246:6: warning: address of array 'this->alMusicBuffercin' will always evaluate to 'true' [-Wpointer-bool-conversion]
        if( alMusicBuffercin )
        ~~  ^~~~~~~~~~~~~~~~
2022-03-15 09:30:57 +01:00
Robert Beckebans
5b98d387ce Fixed compiling of the Vulkan backend 2022-03-06 10:26:37 +01:00
Robert Beckebans
219033e26a Fixed black screen after reloadImages #621 2022-03-06 10:10:18 +01:00
Robert Beckebans
2ce90cf97b Applied Astyle 2022-03-06 08:59:13 +01:00
Robert Beckebans
d212e5b948 Merge remote-tracking branch 'SRSaunders/master' 2022-03-06 08:34:02 +01:00
Robert Beckebans
e3101a6b05 Added Zoomap categories railing, pipe and ladder and changed it to look for .bobj and .bdae files 2022-03-05 18:55:30 +01:00
Robert Beckebans
f1668b7db8 Stencil shadows work again (thanks to Stephen Pridham), Renderer Sync #395 2022-03-05 18:27:27 +01:00
Stephen Saunders
1ac9baca5d Tiny fix for printing Bink audio stream sample format 2022-03-03 16:31:49 -05:00
Stephen Saunders
8f474b9cb4 Tiny fix for printing RoQ cinematic filename 2022-03-03 11:59:32 -05:00
Stephen Saunders
bd3c82c930 Align frame logic for Cinematic decoders (ffmpeg, Bink, RoQ), use correct shaders, fix bugs in RoQ looping and testVideo cmd 2022-03-02 20:49:26 -05:00
Robert Beckebans
5ebbbf32e4 Added support for the prototype.wad in the convertMapQuakeToDoom cmd 2022-03-02 17:47:05 +01:00
Robert Beckebans
6d7ebabcbf Fixed a divide by zero bug in the convertMapToValve220 cmd 2022-03-02 09:27:09 +01:00
Robert Beckebans
daf5ed43c0 Export FGD files to base/_tb/fgd/*.fgd 2022-02-27 17:26:58 +01:00
Robert Beckebans
3de739ae32 Added small hack to load autogenerated genmodel_ entities 2022-02-27 16:58:25 +01:00
Robert Beckebans
920df3df63 Tweaked export to TrenchBroom cmds with proxymodels 2022-02-27 13:56:14 +01:00
Stephen Saunders
69be2f1e05 Enabled RoQ & ffmpeg decoders in testVideo cmd, fixed RoQ looping with ffmpeg decoder 2022-02-26 18:51:01 -05:00
Robert Beckebans
67aaf93af8 Added 2D Bin Packing library 2022-02-26 18:48:15 +01:00
Robert Beckebans
5368eb5521 Added more categories to makeZooMapForModels cmd 2022-02-26 15:53:14 +01:00
Robert Beckebans
60d7801780 Added category sorting to makeZooMapForModels cmd 2022-02-26 15:29:39 +01:00
Robert Beckebans
75d55a7ed3 Tweaked makeZooMapForModels cmd with better sorting 2022-02-25 22:14:45 +01:00
Stephen Saunders
c4bc217d26 Linux case sensitivity hack for opening RoQ files with ffmpeg 2022-02-25 01:13:54 -05:00
Robert Beckebans
9cc5fa7a3a Write labels above model groups in zoo maps 2022-02-24 22:14:40 +01:00
Stephen Saunders
27c1fe476a Close all ffmpeg contexts, remove packet queue, support ffmpeg RoQ decoding with audio 2022-02-24 02:04:30 -05:00
Robert Beckebans
cbc9a31b74 Added cmd makeZooMapForModels 2022-02-23 22:52:23 +01:00
Stephen Saunders
f24d7ecc16 Fix XAudio2 and OpenAL errors on shutdown, improve cinematic audio queue mgmt
(cherry picked from commit 4bfdf622f94b52eae52faece058c0e3d6139551e)
2022-02-22 20:16:31 -05:00
Stephen Saunders
22cd420513 More cinematic audio memory mgmt fixes, support cinematic audio looping
(cherry picked from commit bb0b260baa187d2dd88ef2a631e7b7f163095b10)
2022-02-22 19:52:24 -05:00
Robert Beckebans
b2f68faffe exportModelsToTrenchBroom writes another FGD with helper entities 2022-02-22 21:36:00 +01:00
Robert Beckebans
2282cfb9d8 Differentiate between classic func_groups and TB layers 2022-02-19 14:43:49 +01:00
Stephen Saunders
922f9eddef Cinematic Video and Audio memory management fixes
(cherry picked from commit 40a9190283d30180a3b7e4ab9b77f3c3728dad4f)
2022-02-18 14:01:53 -05:00
Robert Beckebans
1f2df87be7 Fixed a couple of func_groups with TrenchBroom related bugs 2022-02-18 18:00:09 +01:00
Robert Beckebans
c23709c2db Formatted code with Astyle 2022-02-12 12:55:46 +01:00
Robert Beckebans
4bba6b3e46 Merge remote-tracking branch 'SRSaunders/gpu-support' 2022-02-12 10:54:56 +01:00
Stephen Saunders
1c6ec627f2 Minor fix for astyle-code.sh compatibility with macOS grep
(cherry picked from commit 82206ebeaac285d68add1042e1f151857e67e53b)
2022-02-10 10:40:43 -05:00