Commit graph

1,421 commits

Author SHA1 Message Date
Gene
5347cdf569
Fix billboard facing camera only taking effect when used with XY billboarding 2024-09-19 10:56:24 -04:00
nashmuhandes
686320c94d Don't light decal from lightmap tile if it's supposed to be fullbright 2024-09-18 20:00:31 +08:00
nashmuhandes
9c4814350f Fix broken corona when the sprite contains alpha 2024-09-17 05:26:59 +08:00
Magnus Norddahl
1c3538d77e Draw the particles 2024-09-16 22:53:01 +02:00
Magnus Norddahl
c3f65fecdb Half the scene (all upper and lower walls) is drawn as masked unfortunately 2024-09-16 21:58:10 +02:00
Magnus Norddahl
76536be804 Use the dynamic lights from the level mesh in the light tiles shader 2024-09-16 18:06:21 +02:00
Magnus Norddahl
b43f84def6 Hook up light tile visibility test 2024-09-16 01:04:53 +02:00
Magnus Norddahl
521e2ed39c Run the light tiles compute shader 2024-09-14 04:59:39 +02:00
Christoph Oelckers
ed39413532 Render the bottom sky layer always with full opacity in the SW true color renderer.
No need to add explicit checks for color (0,0,0,0) here.
2024-09-12 08:47:00 +02:00
Cacodemon345
38290b6615 Truecolor sky: Draw opaque black background on transparent texels
Fixes HOM effect
2024-09-12 08:38:19 +02:00
Magnus Norddahl
d96dd8e7ba Fix using wrong location for the light update 2024-09-11 01:58:34 +02:00
Magnus Norddahl
f0c018fdc6 Update light level in level mesh 2024-09-11 01:39:47 +02:00
nashmuhandes
fa0a88f85e Merge branch 'master' of https://github.com/ZDoom/gzdoom 2024-09-11 00:11:39 +08:00
Dileep V. Reddy
aacc4d7278 PointToPseudoPitch() was being called even when viewpoint was not allowed out of bounds. And its sqrt was slow even when it was necessary (thanks dpjudas for the speedup code). 2024-09-10 10:58:36 -04:00
Magnus Norddahl
ab9c6c0f63 Use SSE2 for the sqrt as the other thing is super slow 2024-09-09 20:16:43 +02:00
nashmuhandes
58fecd4b92 Move depth fade definition to GLDEFS 2024-09-09 18:57:07 +08:00
nashmuhandes
27058efe85 Rename "depth fade falloff" to "depth fade threshold" as it makes more sense 2024-09-09 17:06:04 +08:00
dpjudas
6c57283b25 Fix null pointer crash when there is no actor 2024-09-09 02:08:33 +02:00
Magnus Norddahl
b2040a0892 Add support for the poor souls on a 386 that can't afford to use full screen 2024-09-08 22:25:24 +02:00
nashmuhandes
166d69164d Set the depth fade render state from sprites 2024-09-09 02:53:31 +08:00
Rachael Alexanderson
5895f9b1b1
- implement +SQUAREPIXELS flag 2024-09-07 23:09:36 -04:00
Magnus Norddahl
1b8effe1ea Make linearized depth data available to translucent material shaders via the texture name SceneLinearDepth. Does it work? Who knows! 2024-09-08 02:32:01 +02:00
Magnus Norddahl
e65b3058cf Fix mesh builder not getting cleared correctly 2024-09-07 04:14:22 +02:00
Magnus Norddahl
d2958d8366 Change how visible surfaces for a tile are collected by the light mapper 2024-09-07 03:11:36 +02:00
Magnus Norddahl
4655b02f06 Fix using wrong surface for the extra BLAS structures for trace hits
Add gl_raytrace for ray tracing the level mesh
2024-09-05 00:15:59 +02:00
dpjudas
d77b9c1e2b Include 3d floors in level mesh limits 2024-09-03 01:09:50 +02:00
Magnus Norddahl
4ba0b47665 Dont draw sectorstack atm 2024-09-01 23:01:39 +02:00
dpjudas
c71261bd0f Forgot color write was disabled for the first draw 2024-09-01 22:49:45 +02:00
dpjudas
4666fa6241 Split masked from opaque in the level mesh draw lists 2024-09-01 22:44:25 +02:00
Magnus Norddahl
75dd9e13c9 Fix line portals drawn as opaque 2024-08-30 21:58:13 +02:00
Magnus Norddahl
d12cd4d74d Sort initial draw lists by pipeline
Fix applying pipeline state too often for scattered draw ranges
Delay updating sides and sectors until frame start to allow the playsim to mark surfaces dirty multiple times
2024-08-28 19:53:12 +02:00
Magnus Norddahl
dedd7245f2 Fix wall portals not getting freed 2024-08-26 02:05:38 +02:00
Magnus Norddahl
e94bd7f641 Fix 'Could not find space in level mesh buffer' error
Interpolate sector height updates
2024-08-26 00:49:30 +02:00
Dileep V. Reddy
b2976444c9 Smaller aspect ratio screens were getting clipped a bit too much. This is a brute-force if-else solution. Larger aspect ratios (wider screens) were always good. 2024-08-25 11:18:05 -04:00
Magnus Norddahl
03e36e9d38 Fix polyobj height 2024-08-25 15:48:17 +02:00
Magnus Norddahl
944c6994b7 Update polyobjs every frame (wtb UpdateLevelMesh notification about this) 2024-08-25 15:10:30 +02:00
Magnus Norddahl
a4b57c5fbe Also apply the alpha scale to sprites 2024-08-25 14:54:58 +02:00
Magnus Norddahl
cd2fdb0cd9 Apply light alpha to intensity 2024-08-25 14:50:51 +02:00
Magnus Norddahl
18db0b49a7 Update level mesh on sector changes 2024-08-25 01:06:44 +02:00
Magnus Norddahl
d28a3571b5 More level mesh buffer fun 2024-08-23 00:01:08 +02:00
Magnus Norddahl
356ad2fe9f Split doom specific surface data from common/gpu surface data 2024-08-20 02:06:05 +02:00
Rachael Alexanderson
54d43b2856
Merge commit '958721e' 2024-08-15 13:11:37 -04:00
Dileep V. Reddy
958721e2b8
Forgot on check. 2024-08-15 02:43:48 -04:00
Magnus Norddahl
e9946bead2 Fix not lights in the internal lightmapper 2024-08-13 23:35:32 +02:00
dpjudas
b6cbaaedbc Update the bottom level accel structure if vertices or indexes change 2024-08-11 23:03:32 +02:00
Rachael Alexanderson
a4e3aca33c
- add messages for sector light change, thinker creation, and destruction 2024-08-11 15:58:33 -04:00
Magnus Norddahl
766b558119 Ranges in buffers are so fun! 2024-08-11 20:39:45 +02:00
Magnus Norddahl
e0cba77646 Move levelmeshhelper completely out of the Common folder
Connect the level updates to the level mesh
2024-08-11 18:34:03 +02:00
Magnus Norddahl
e80615e167 Move the level mesh dirty ranges to levelmesh so that it can be updated 2024-08-11 17:51:45 +02:00
dileepvr
95b264bdb6
Isometric Mode and Robin (#2618)
* Feature-complete isometric mode fork.

* Dithered transparency condition tweaks.

* Dithered transparency for non-corpse monsters only (and missiles).

* SpectatorCamera vertical shift.

* Including math.h in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in hw_sprites.cpp to keep visual studio happy (it couldn't find M_SQRT2 definition).

* Defining MY_SQRT2 in r_utility.cpp also to keep visual studio happy.

* retrigger checks

* Have correct sprite angle-frame face the camera with orthographic projection enabled.

* Dithered Transparency now works properly on 3D floors. Moved that dither-trans flag setting code within hw_bsp.cpp to handle double-processing of linedefs. Added helper functions to FRenderViewpoint class 'bool IsOrtho()' and 'bool IsAllowedOoB()' to clean up checks everywhere in the code.

* Fixed indents. Added bbox property to subsector struct and use it instead of BSP nodes and Clippers (creating a bbox around viewpoint and checking for overlap) in orthographic mode when no fog of war is active. Turns out to be much faster. Though you need really big maps (Winter's Fury MAP01) to see a difference in fps.

* Non-linux checks don't like uint. Changed to unsigned int.

* Small change of a float to camera.zs. Ignore for testing. Should make no difference.

* Update actor.h to remain mergeable

RF2_NOMIPMAP was introduced, so I had to displace RF_ISOMETRICSPRITES to next bit.
2024-08-11 10:04:40 -04:00