Christoph Oelckers
89535b803a
Backend update from Raze.
2023-10-07 18:42:24 +02:00
Christoph Oelckers
139d1a7eb6
- use wrapping fixed point conversion for SW rendering coordinates.
2023-09-14 20:34:28 +02:00
Professor Hastig
fbf7d1025a
- fixed bad clamp in software renderer
...
This one can have its upper bound below its lower bound which triggers the validation within std::clamp.
Fixes #2125
2023-09-14 05:11:02 -04:00
Nikolay Ambartsumov
df976e218e
Add per-tier sidedef light levels to UDMF maps
2022-01-26 18:25:04 -05:00
Christoph Oelckers
77d74a11d1
- removed most templates.h includes.
2021-10-30 10:49:12 +02:00
Christoph Oelckers
1d0aed219e
- replaced MIN/MAX in all non-common code.
2021-10-30 10:16:52 +02:00
Christoph Oelckers
226666ce7f
- replaced MIN/MAX with min/max from the C++ standard library in the software renderer
2021-10-30 10:08:11 +02:00
Magnus Norddahl
61d49a2007
Fix texture loading race condition and improve performance by only locking the load mutex if data hasn't already been updated for this frame
2021-03-26 07:09:33 -04:00
Rachael Alexanderson
6e5dbbc8ec
Revert "Merge dpJudas's renderslices branch ( #1356 )"
...
This reverts commit a5cba1aba5 .
2021-03-26 07:08:31 -04:00
Xaser Acheron
a5cba1aba5
Merge dpJudas's renderslices branch ( #1356 )
...
* Remove threading from the drawers
* Fix some r_scene_multithreaded related bugs
* Fix some r_scene_multithreaded crashes
* Fix fullbright shade bug
* Fix truecolor drawer crash
* Add debug code for showing the render slices
* Fix texture loading race condition and improve performance by only locking the load mutex if data hasn't already been updated for this frame
Co-authored-by: Magnus Norddahl <dpjudas@users.noreply.github.com>
2021-03-25 20:58:08 -04:00
Magnus Norddahl
2855b1c4ae
Fix line portal clipping bug
2021-02-14 13:59:35 -05:00
Magnus Norddahl
d7924d6e9d
Fix dancing sprites regression
2021-02-11 23:05:08 -05:00
Christoph Oelckers
68630d6782
- sanitized dependencies of the softpoly render backend.
...
This included half the game state and lots of unneeded parts of the software renderer.
The two modules that are shared between softpoly and the classic software renderer have been moved to a neutral place.
2020-04-29 18:48:15 +02:00
Christoph Oelckers
5352682697
- moved the front layer hack for Hexen's skies to the texture manager.
2020-04-19 10:57:50 +02:00
Christoph Oelckers
9e7094848c
- transitioned the 2D drawer to FGameTexture.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
9593cb56ae
- decoupled the software renderer entirely from FTexture - it will only look at FSoftwareTexture now, all access to the texture manager has been wrapped.
2020-04-19 10:57:45 +02:00
Christoph Oelckers
f8e9cb8fbc
- major dependency reduction of the texture system.
2020-04-11 20:20:37 +02:00
Christoph Oelckers
05d8856fe0
- moved file system implementation to 'common'.
2020-04-11 14:00:20 +02:00
Christoph Oelckers
6996d54a23
- moved more code to 'common'.
...
This is all low level utilities with no dependencies on game logic. Having this in a separate directory makes sharing with Raze a lot easier.
2020-04-11 14:00:12 +02:00
Christoph Oelckers
b0ecb02d6b
- move SuperFastHash to its own set of files, instead of having this tied to the console.
...
- replace swapvalues with std::swap globally.
- added some additions to utility code from Raze, mainly to reduce file content differences.
- reduced some unused utilities
2020-04-11 14:00:10 +02:00
Magnus Norddahl
3b336a1476
Fix broken fixed camera light for walls
2020-01-17 01:15:44 +01:00
Magnus Norddahl
839b737429
Fix wrong blend tables used when dynamic lights hits translucent lines
2019-12-31 03:00:36 +01:00
Magnus Norddahl
49af4a4b35
- fix line backside textures mirrored
2019-12-10 00:44:40 +01:00
Magnus Norddahl
62b2039a75
Queue a full wall as one draw command
2019-11-23 02:25:42 +01:00
Magnus Norddahl
310459b490
Remove dead code
2019-11-20 22:11:40 +01:00
Magnus Norddahl
2ac6be3510
- fix scale bug and remove some member variables
2019-11-20 22:06:15 +01:00
Magnus Norddahl
236b476933
- change ProjectedWallTexcoords to use gradients for its texture coordinate calculations
...
- change SpriteDrawerArgs to draw a full sprite instead of one column at a time
- add r_noaccel cvar to allow forced software rendering of the psprites (useful for debugging and also one person on the forum actually requested this feature)
- remove FWallTmapVals and calculate texture coordinates directly from FWallCoords
- move portal clipping out of the inner sprite drawing loop
2019-11-20 04:50:24 +01:00
Magnus Norddahl
1085287af1
Reverse the order of the functions in r_walldraw
2019-11-15 22:47:40 +01:00
Magnus Norddahl
16c2d9366d
Remove ProcessWallNP2 as NPOT textures are already handled elsewhere
2019-11-15 22:28:59 +01:00
Magnus Norddahl
9f9884d03c
- move decal light calculations into RenderDecal::RenderDecals
2019-11-15 06:06:11 +01:00
Magnus Norddahl
a478cf9a96
- support dynamic lights on translucent and 3d floor walls
2019-11-15 05:53:55 +01:00
Magnus Norddahl
7168466c28
Calculate all light in RenderWallPart
2019-11-15 05:45:52 +01:00
Magnus Norddahl
82855ab1fd
Calculate light closer to where it is used
2019-11-15 05:21:10 +01:00
Magnus Norddahl
3428b50924
Fix type typo
2019-11-15 03:46:21 +01:00
Magnus Norddahl
608895dae7
Fix fog boundary drawing for 3d floors and add a few helper functions to RenderDrawSegment
2019-11-15 03:41:10 +01:00
Magnus Norddahl
642cd2b160
Fix 3d floor rendering bug
2019-11-14 02:28:53 +01:00
Magnus Norddahl
88848f1d59
Add some helpers on DrawSegmentClipInfo
2019-11-13 04:17:46 +01:00
Magnus Norddahl
72bba914ce
Move drawseg clipping variables to DrawSegmentClipInfo
2019-11-12 19:46:45 +01:00
Magnus Norddahl
879fae7cd0
Also calculate wallsprite and decal texture coordinates in ProjectedWallTexcoords
2019-11-12 18:44:17 +01:00
Magnus Norddahl
fa3e5e34a8
Move all ProjectedWallTexcoords calculations to that class
2019-11-12 02:22:30 +01:00
Magnus Norddahl
e388abbb77
Clarify that 'fake wall' means a 3d floor wall
2019-11-11 23:41:14 +01:00
Magnus Norddahl
fec280a5fc
Remove the sprite drawer from wall drawing
2019-11-11 05:37:02 +01:00
Magnus Norddahl
3944ee5b67
- Calculate drawseg texture coordinates in r_line
2019-11-11 04:10:08 +01:00
Magnus Norddahl
6410bc81cc
- merge top/mid/bottom texture coordinate calculations
2019-11-11 03:19:00 +01:00
Magnus Norddahl
48d0ebab58
Convert some variables to be function local
2019-11-09 05:29:14 +01:00
Magnus Norddahl
b40ffb1d64
Move more texture coordinate variables into ProjectedWallTexcoords
2019-11-09 04:45:39 +01:00
Magnus Norddahl
5c21a6c973
Remove the ProjectedWallTexcoords arrays
2019-11-09 03:16:48 +01:00
Magnus Norddahl
370c185415
Mark FWallTmapVals members as private and make FWallTmapVals part of wallsetup
2019-11-09 02:41:37 +01:00
Magnus Norddahl
7fae5ea905
Remove unused code
2019-11-09 00:07:33 +01:00
Magnus Norddahl
62ec165d28
Further isolate texture coordinate calculations to r_wallsetup
2019-11-08 03:46:07 +01:00