Commit graph

2,316 commits

Author SHA1 Message Date
Magnus Norddahl
523aaedecf Toy with raytracing 2025-06-24 21:20:48 +02:00
Magnus Norddahl
d1c6fbe61f Misc lightmapper adjustments 2025-06-24 15:04:16 +02:00
Magnus Norddahl
b3c2209c47 Stack atlas shelves horizontally rather than vertically 2025-06-24 13:00:57 +02:00
dpjudas
e1ec7b2d85 Add partner subsectors to surface list for each subsector 2025-06-24 04:04:29 +02:00
Magnus Norddahl
e5dd219f56 Workaround AMD driver crash by moving USE_RAYTRACE_PRECISE to a define instead of a specialization constant 2025-06-22 09:32:14 +02:00
Magnus Norddahl
c8509d000c Fix some warnings reported by gcc 2025-06-22 08:01:47 +02:00
Magnus Norddahl
6270d51f6f Validation layer says the fragment shader library needs to know the multisampling sample count 2025-06-22 07:08:56 +02:00
Magnus Norddahl
0d7abc52a4 Fix linear depth image transition validation error 2025-06-22 06:57:17 +02:00
Ricardo Luís Vaz Silva
b1ba81bfcf fix cpu levlemesh 2025-06-19 04:42:12 +02:00
Magnus Norddahl
7f06d3d222 Fix stale pointers when the mesh arrays get resized 2025-06-13 15:21:50 +02:00
nashmuhandes
8def045ab8 Rename this to make more sense 2025-06-13 12:59:32 +08:00
nashmuhandes
a39c84a77a Define the shadow casting style on an Actor using a property. Currently only for lightmaps. 2025-06-13 12:57:02 +08:00
Magnus Norddahl
ad4a923cc9 Remove the mesh limits and resize the GPU buffers as needed 2025-06-11 23:13:07 +02:00
Magnus Norddahl
03d0177fc9 Oops, wrong value suggested for vk_amd_driver_check 2025-06-11 18:46:48 +02:00
Magnus Norddahl
772b4629e1 Put the AMD driver check behind a CVAR 2025-06-11 18:40:01 +02:00
nashmuhandes
c40a36ea7c Allow lm_dynamic to be able to set level-wide in ZDRayInfo 2025-06-12 00:23:36 +08:00
Magnus Norddahl
3f1dcce970 Bake models into the level mesh 2025-06-11 03:38:40 +02:00
Magnus Norddahl
cfe282f4bd Model rendering to mesh builder 2025-06-10 20:32:27 +02:00
Ricardo Luís Vaz Silva
daab336784 make lm_dynlights toggling work 2025-06-01 01:10:42 +02:00
Ricardo Luís Vaz Silva
42e20f248d force allow light updates when lm_dynlights is on 2025-06-01 01:10:42 +02:00
Magnus Norddahl
1791167fe5 Draw sorted by pipeline 2025-05-30 18:52:44 +02:00
Ricardo Luís Vaz Silva
af653e8b67 bone getters part 2.5 2025-05-26 13:33:51 +02:00
dpjudas
cc92dda41a Avoid applying state on every draw 2025-05-26 04:26:36 +02:00
Magnus Norddahl
f302f03287 Change level mesh draw code to draw ranges in the mesh rather than the entire mesh 2025-05-25 18:18:29 +02:00
Ricardo Luís Vaz Silva
7461fc202b match gzdoom light limit 2025-05-25 13:54:16 +02:00
Magnus Norddahl
a85cd66747 Use the tonemap PP pass to convert blended render styles back to palette colors 2025-05-20 04:09:31 +02:00
Magnus Norddahl
5a5c8d4bde Use the game palette to find the material color 2025-05-20 03:20:46 +02:00
dpjudas
3dbb4d7b9c Add lightmap and dynamic lights 2025-05-19 17:23:28 +02:00
Magnus Norddahl
990ce7c6c9 Render scene with indexed textures for vid_rendermode 2 2025-05-19 05:55:03 +02:00
Ricardo Luís Vaz Silva
e0897ae8b2 remove broken precise midtexture trace, fix sky tracing for actors 2025-05-16 00:47:50 +02:00
Magnus Norddahl
156d7e7af2 Correctly apply sunlight to line portals 2025-05-13 15:18:33 +02:00
Magnus Norddahl
0c0e29b18d Add sunlight to line portals 2025-05-13 14:38:35 +02:00
Magnus Norddahl
76fb5901d7 Only force baking of tiles where the geometry changed 2025-05-13 01:52:02 +02:00
Magnus Norddahl
2d772dc0f2 GCC doesn't like this static const int for some weird reason... 2025-05-12 20:00:32 +02:00
Magnus Norddahl
be4b0cb67b Stop memory allocations by keeping the RectPacker around 2025-05-12 14:26:24 +02:00
Magnus Norddahl
2c069349a3 Portal and high update count fixes 2025-05-12 00:39:41 +02:00
Magnus Norddahl
6cf3cdb871 Make LevelMeshUpdater responsible for updating the tiles (playsim tells the mesh updater, the level mesh tells the tiles) 2025-05-11 20:11:18 +02:00
Magnus Norddahl
bfb37a89c3 Fix deactivated lightmap light not working 2025-05-11 17:58:07 +02:00
Magnus Norddahl
737b7ece96 Dynamically allocate and free lightmap tiles 2025-05-10 03:07:17 +02:00
Ricardo Luís Vaz Silva
d5f5c71d67 Bone Getters Part 2/3, plus fixed warnings for MSVC
* add getters for frame poses

* fix missing joint in GetJointPose

* clean up models_iqm.cpp

* clean up usage of I_GetTimeFrac, split out matrix calculation into its own function

* clean up SetModelBoneRotationInternal

* clean up a few float <-> double and unsigned <-> signed warnings

* fix more warnings

* further clean up warnings

* split mode ObjectToWorldMatrix stuff

* initial work on bone getters, matrix hell

(the matrix/vec3 multiplications are probably wrong af, just gotta add more stuff 'till i can test it)

* clean up matrix math

* GetBone/TransformByBone

* fix GetBoneFramePose

* fix ObjectToWorldMatrix

* fix missing array resize

* raw matrix getters (for use with gutamatics/etc)

* reverse matrix mult order

* replace GetBoneLength/GetBoneDir with GetBoneBaseTRS

* fix GetBonePosition, remove GetBoneWorldMatrix as it's useless

* GetBonePosition

* deduplicate code

* rename GetBonePosition to GetBoneBasePosition to avoid confusion

* GetBoneBaseRotation

* GetBonePosition helper function

* forgot include_offsets
2025-05-10 08:42:20 +08:00
nashmuhandes
db8bdab669 Fix coronas duplicate-drawing sometimes 2025-05-03 07:01:11 +08:00
Ricardo Luís Vaz Silva
9aa44fa13b Merge branch '4.14.2' into gz_merge 2025-05-02 17:15:41 -03:00
Ricardo Luís Vaz Silva
99aa489d09 4.14.2 model refactor cherry pick
Some checks failed
Continuous Integration / macOS | Debug (push) Has been cancelled
Continuous Integration / Linux Clang 11 | Debug (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | Debug (push) Has been cancelled
Continuous Integration / Linux GCC 12 | MinSizeRel (push) Has been cancelled
Continuous Integration / Linux GCC 9 | RelWithDebInfo (push) Has been cancelled
Continuous Integration / macOS | Release (push) Has been cancelled
Continuous Integration / Linux Clang 15 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 2019 | Release (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | Release (push) Has been cancelled
* split frame info calculation from RenderFrameModels

* clean up FindModelFrame

* refactor model overrides into its own function

* refactor frame rendering into RenderModelFrame

* split frame processing into ProcessModelFrame
2025-05-01 18:22:30 -04:00
Ricardo Luís Vaz Silva
8833126801 Bone Manip part 1 - bone setters
* split frame info calculation from RenderFrameModels

* clean up fvec4 being used as quat in iqms

* initial work on bone setting

* implement bone setters

* clean up FindModelFrame

* refactor model overrides into its own function

* refactor frame rendering into RenderModelFrame

* split frame processing into ProcessModelFrame

* refactor BoneOverride in preparation for translation/scale overrides

* clean up macros

* SetBoneTranslation/SetBoneScaling

* GetBoneOffset

* fix compilation on linux/mac (fuck you MSVC)

* fix typo 😅

* make sure bone overrides are cleared on model switches, add ClearBoneOffsets to clear them manually

* bone info getters

* fix joint lengths, add joint dirs

* serialize bone overrides

* fix bone dir return type

* GetBoneIndex/GetBoneCount

* helper functions for working with non-quat angles

* add mode enum, add more helper functions

* fix up formatting
2025-05-01 15:47:38 +02:00
Ricardo Luís Vaz Silva
56999fecd2 fix bug with direct cvar assignment being mistakenly allowed 2025-04-29 07:56:19 -03:00
Magnus Norddahl
91cc8b15ae Oops, this shouldn't have been committed :p 2025-04-26 15:57:02 +02:00
Magnus Norddahl
64e08cc921 Include address info to access violations 2025-04-26 15:56:39 +02:00
dpjudas
03ba95e7e1 Improve call stack by using the CONTEXT record from the SEH exception 2025-04-26 13:32:01 +02:00
Magnus Norddahl
98ff358a3a Workaround AMD driver crash by disabling rayquery for all AMD cards 2025-04-21 18:49:22 +02:00
Magnus Norddahl
4e0d6d5932 Fix missing inlined function 2025-04-21 01:53:54 +02:00