Commit graph

5,126 commits

Author SHA1 Message Date
Magnus Norddahl
4fa00d01ea Fix sunlight artifact 2025-07-22 20:23:53 +02:00
nashmuhandes
9fc4acf440 Fix sun lightmaps with gl_texture 0 2025-07-22 22:58:12 +08:00
Magnus Norddahl
3e6943fb4f Code for building a lightprobe AABB tree 2025-07-20 07:54:33 +02:00
dpjudas
e5db8d998a Make uLightProbeIndex take precedence over probemap, if specified 2025-07-19 21:14:55 +02:00
Magnus Norddahl
1efa5b19cd Add tile world position information to lightmapper copy pass 2025-07-19 02:28:19 +02:00
Magnus Norddahl
8faa4e65bc Create probemap texture for every lightmap atlas texture 2025-07-18 19:28:57 +02:00
Magnus Norddahl
9e8d76cc1e Prepare pbr shader to find the closest light probes from a texture 2025-07-18 16:39:14 +02:00
Magnus Norddahl
a9c1fdf23a Add specular highlights to sunlight 2025-07-17 02:52:28 +02:00
Magnus Norddahl
924a44e94d Change gl_raytrace back to its direct ray tracing 2025-07-16 09:33:42 +02:00
Magnus Norddahl
d0dc14c2c7 Add a brightness multiplier for PBR lights to make it closer match classic light model brightness 2025-07-10 05:57:58 +02:00
Magnus Norddahl
ed0db43eaa Add PBR lightprobe thing and always bake probes if encountered 2025-07-10 03:10:15 +02:00
Magnus Norddahl
af6ec929cc Move lightmap atlas textures and light probes to the bindless textures array as its impossible to predict up front how many we need 2025-07-08 02:59:10 +02:00
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
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
nashmuhandes
8def045ab8 Rename this to make more sense 2025-06-13 12:59:32 +08:00
nashmuhandes
beb6842e94 Remove redundant readonly qualifier 2025-06-13 12:57:02 +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
nashmuhandes
c40a36ea7c Allow lm_dynamic to be able to set level-wide in ZDRayInfo 2025-06-12 00:23:36 +08:00
Ricardo Luís Vaz Silva
d42ebe9760 limit levelmesh models to StaticMapModel class 2025-06-11 03:55:34 +02:00
Magnus Norddahl
4de06b3175 Turn off the light tiles 2025-05-30 20:43:30 +02:00
Ricardo Luís Vaz Silva
af653e8b67 bone getters part 2.5 2025-05-26 13:33:51 +02:00
Magnus Norddahl
5a5c8d4bde Use the game palette to find the material color 2025-05-20 03:20:46 +02:00
Magnus Norddahl
ac335a5fbf Apply colormaps 2025-05-20 02:59:52 +02:00
Magnus Norddahl
f1fba4fe98 Move software dynlight stuff to lightmodel 2025-05-19 18:06:50 +02:00
dpjudas
3dbb4d7b9c Add lightmap and dynamic lights 2025-05-19 17:23:28 +02:00
dpjudas
23a5b05e45 Fix alpha test 2025-05-19 15:50:51 +02:00
Magnus Norddahl
990ce7c6c9 Render scene with indexed textures for vid_rendermode 2 2025-05-19 05:55:03 +02:00
nashmuhandes
783a3524ed Remove Linearity from A_AttachLight for now as it goes over the kFuncArgCount limit in the JIT (TODO: struct-ify A_AttachLight in future) 2025-05-18 03:43:07 +08:00
nashmuhandes
051751220b Add SoftShadowRadius and Linearity to GLDEFS and A_AttachLight 2025-05-18 02:08:37 +08:00
nashmuhandes
af7c9db9c5 GLDEFS light intensity and A_AttachLight intensity, VKDoom edition 2025-05-17 21:43:47 +08:00
Ricardo Luís Vaz Silva
60baa0fdaa allow toggling nearest dither 2025-05-17 13:36:21 +02:00
nashmuhandes
631a533272 Remove LANGUAGE key for precise midtexture trace (because the actual feature was removed)
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 9 | MinSizeRel (push) Has been cancelled
Continuous Integration / Linux GCC 12 | RelWithDebInfo (push) Has been cancelled
Continuous Integration / Visual Studio 2022 | 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 / Update Latest successful build (push) Has been cancelled
2025-05-16 07:12:49 +08: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
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
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
091e5d76d5 set zscript version as 4.15.1 for now, since bone manip is 4.15.1 2025-05-01 15:47:38 +02: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
3befb3f5e7 limit light alpha mult to renderflag 2025-04-29 15:49:55 -03:00
MajorCooke
bf6f175305 SpawnBlood now returns an actor spawned by the function. 2025-04-29 07:56:20 -03:00
Boondorl
ce922225e7 Added OnLoad virtual
Allows for things to be reinitialized where needed for Thinkers. Moved hidden state of items over to OnLoad.
2025-04-29 07:56:19 -03:00
RaveYard
ee14cee226 SoftShadowRadius for 1 sample RT lights via dithering effect 2025-04-11 16:25:06 +02:00
dpjudas
202d99bf9e Add worker thread for creating pipelines 2025-04-10 08:17:45 +02:00
Ricardo Luís Vaz Silva
c72888dcf8 fix bad cherry pick 2025-04-09 14:47:17 -03:00
Ricardo Luís Vaz Silva
0e77b01fc4 fix OptionMenuItemCommand::DoCommand for new 4.15 keyword 2025-04-09 14:47:11 -03:00
DyNaM1Kk
7ad2111bed Added autoSwitch parameter to A_ReFire 2025-04-09 14:31:57 -03:00
MajorCooke
72f9c0f9b7 Exported:
* GetLumpContainer
* GetContainerName
* GetLumpFullPath
for WADS struct, useful for debugging custom-made parsers and identifying where problems may arise.

All credit goes to Jay for the code.
2025-04-09 14:31:56 -03:00
nashmuhandes
cfe275f81c Properly assign tags to various Raven game items 2025-04-09 14:31:56 -03:00
MajorCooke
9c1d45dd68 Added particle rendering to VisualThinkers.
To activate, use `SetParticleType(int type)`. To deactivate, use `DisableParticle()`.

Types are:
- PT_DEFAULT (default value; uses `gl_particles_style`)
- PT_SQUARE
- PT_ROUND
- PT_SMOOTH

While in this mode:
- `Texture` & `Translation` are ignored
- `Scale.X` sets the size
- `SColor` sets the color

Misc changes:
- Removed warning on textureless destruction
2025-04-09 14:30:04 -03:00
nashmuhandes
e1e93b1b46 Interpolate turning 180 degrees 2025-04-09 14:30:04 -03:00