Commit graph

41 commits

Author SHA1 Message Date
Sally Cochenour
bb42e541e9
MASTERNOSEE flag (#1601)
Makes it so that if an actor's master is invisible due to camera/mirror/portal shenanigans, then the actor will also be invisible. Name based off of an Unreal Engine flag that does the exact same thing.

Co-authored-by: Christoph Oelckers <coelckers@users.noreply.github.com>
2022-05-31 12:34:15 +02:00
Sally Coolatta
a98c1efc26 Add WorldOffset field
Adjusts the thing's 3D position on render side. This allows for adjusting a thing's visual position without impacting their hitbox.

# Conflicts:
#	src/playsim/p_mobj.cpp
2022-05-31 10:14:32 +02:00
Christoph Oelckers
77d74a11d1 - removed most templates.h includes. 2021-10-30 10:49:12 +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
nashmuhandes
5446a1a355 Add sprite shadows for the software renderer 2021-04-24 22:40:54 -04: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
Magnus Norddahl
d1f47afd96 Add debug code for showing the render slices 2021-03-26 07:09:33 -04:00
Magnus Norddahl
bdb35e5e86 Fix some r_scene_multithreaded crashes 2021-03-26 07:09:33 -04:00
Magnus Norddahl
4cd994c027 Remove threading from the drawers 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
MajorCooke
85759e3bd0
Added A_SpriteOffset. (#895)
- Coordinates work akin to A_OverlayOffset: +X shifts to the right, +Y shifts down.
2020-08-27 12:43:09 -04: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
ddef3f7b98 - made video base code game independent 2020-04-28 22:54:53 +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
7243495b16 - moved special color maps to utilities.
The default tables are needed by the texture compositor which should be universal, so this needs to be, too.
2020-04-11 20:19:52 +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
310ef73aa8 Rename PolyTriangleDrawer to PolyCommandBuffer and make its interface look like one 2019-12-07 23:15:12 +01:00
Magnus Norddahl
44c2223c2f Draw 8-bit software renderer with polybackend (well, sort of!) 2019-12-02 01:07:28 +01:00
Magnus Norddahl
4a25c9f69b Merge remote-tracking branch 'origin/master' into polybackend 2019-12-01 20:09:19 +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
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
62ec165d28 Further isolate texture coordinate calculations to r_wallsetup 2019-11-08 03:46:07 +01:00
drfrag
634ef60c78 - Fixed player sprites not being affected by sector light level in the classic software renderer. 2019-09-28 10:31:27 +02:00
Magnus Norddahl
a1229be5c6 - implement camera textures 2019-05-29 05:45:19 +02:00
Magnus Norddahl
0d8d50c23e - fix viewport location
- add scissor support
2019-05-27 16:51:54 +02:00
Magnus Norddahl
48d2d423f6 - remove softpoly scene drawer 2019-05-22 17:16:07 +02:00
Magnus Norddahl
cace5079fe - oops, patched the wrong file 2019-05-09 16:06:18 +02:00
Magnus Norddahl
d0c4f28162 - only write the warning if r_multithreaded has its default value 2019-05-09 16:01:39 +02:00
Magnus Norddahl
7727263599 - Write out a warning if std:🧵:hardware_concurrency returns zero.
- If the number of cores cannot be determined, turn of multithreading in the software renderer as it is most likely a low end system
2019-05-09 15:57:23 +02:00
alexey.lysiuk
56557a17f1 - fixed output of software renderers with Vulkan backend
Vulkan hardware buffer for software canvas may have some padding
Software renderers should be aware of buffer's pitch in order to copy pixels properly

https://forum.zdoom.org/viewtopic.php?t=64562
2019-05-08 22:02:05 +03:00
Christoph Oelckers
2dc12aef71 - removed the NetUpdate calls from the software renderer.
These can cause highly dangerous recursions and execute play code deep inside the renderer and since the hardware renderer does not have these, there is very little point for the software renderer to retain them.
2019-03-31 09:02:11 +02:00
Christoph Oelckers
1a29d39355 - do not render player sprites to canvases in the software renderer.
This applies to both savegame images and camera textures.
2019-03-09 12:12:33 +01:00
Christoph Oelckers
0b2494f9ca - fixed: The global viewpoint's Level member was accessed before it was set.
All affected code needs to get a Level parameter passed in through its arguments.
2019-02-08 13:12:46 +01:00
Christoph Oelckers
89d607c9a6 - moved all rendering code into a common subdirectory.
No changes to the files themselves was made.
2019-01-31 19:58:17 +01:00