Commit graph

399 commits

Author SHA1 Message Date
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
Chronos Ouroboros
c64fafc490
Merge pull request #701 from Doom2fan/DirectNativeShape2D
Added direct-native versions of the Shape2D API.
2019-11-07 18:49:53 -03:00
drfrag
bd90a768f5 - Fixed stretching for 256 and 240 pixels tall skies in software. 2019-11-02 22:57:31 +01:00
Chronos Ouroboros
8f7e902875 Fixed ZScript's Screen.DrawLine using the wrong color when drawing pure black. 2019-10-26 13:42:24 -03:00
Chronos Ouroboros
1a67899bba Added direct-native versions of the Shape2D linear transform API. 2019-10-19 05:25:31 -03:00
Chronos Ouroboros
f45ade151a Added direct-native versions of the Shape2D API. 2019-10-19 04:41:57 -03:00
drfrag
525d678219 - Fixed capped tall skies not working (Heretic and Hexen).
- Fixed sky stretching for the new freelook limit.
2019-10-09 15:08:39 -04:00
alexey.lysiuk
f678b5d4d6 - fixed crash on closing fatal error window
Framebuffer was accessed after its destruction
2019-10-08 12:39:45 +02:00
Christoph Oelckers
2e7af1338c - the big cleanup of the exit cleanup is done!
atterm is gone and only a few system-side functions use atexit.
All game side cleanup is performed in D_DoomMain now.
2019-10-07 20:28:55 +02:00
Rachael Alexanderson
5cbb1c86ab - add missing information for the drawers, from the wallsprite code. this reverts a revert.
This reverts commit 338430995e.
2019-10-05 14:51:48 -04:00
drfrag
e6c6b617e2 - Fixed crash with wallsprites in the software renderer for real. 2019-10-05 19:18:00 +02:00
drfrag
338430995e Revert "- fixed a crash in the software renderer that caused wallsprites to crash"
This reverts commit 0dea6fcecc.
2019-10-05 19:18:00 +02:00
alexey.lysiuk
9332316c2a - set initial vsync state after creation of framebuffer
https://forum.zdoom.org/viewtopic.php?t=66020
2019-10-04 10:46:52 +03:00
Rachael Alexanderson
0dea6fcecc - fixed a crash in the software renderer that caused wallsprites to crash
(note: there is still a bug with grabbing the texture for these)
2019-10-03 23:32:14 -04:00
Christoph Oelckers
5179a69fdb - don't let Vulkan access the vid_vsync variable directly.
Since the FrameBuffers have a SetVsync method anything these last set must count, not the global variable directly.
2019-10-01 20:50:15 +02:00
Christoph Oelckers
86ab366958 - some reformatting on exit code, mainly to make searching for the content easier. 2019-10-01 19:06:28 +02:00
Christoph Oelckers
2a3205200f - reordered a few things in the startup procedure
Mainly done to isolate the calls that actually manipulate the global frame buffer.

V_Init alsoi initialized some palette data, which was moved to V_InitPalette and did something entirely different when running a restart as opposed to an initial start.
2019-10-01 00:21:51 +02: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
Christoph Oelckers
c3f26422df - changed MIDI sources so that they do not have to include i_musicinterns.h anymore.
They were already clean of unwanted external references, but including this file made it hard to keep it that way.
This also moves a few useful definitions around to less 'dirty' headers.
2019-09-25 21:47:33 +02:00
8dbddfc365 Fix crash on vulkan with a large number of texture shaders. 2019-09-25 17:46:33 +03:00
Rachael Alexanderson
7ba485f632
fixed the software resized texture warp problem. (#934)
* - almost nearly fixed the software resized texture warp problem.

* - proposed fix for mipmapping issue for previous commit

* - reduce texture allocation for mipmapped warped textures in the software renderer

* - add a check for the resize mode
2019-09-23 22:37:35 -04:00
drfrag
0cbb08ce84 - Fixed crash with mock2.wad in software. 2019-09-14 13:13:55 -04:00
Rachael Alexanderson
836f774b6c - use drfrag's suggested fix of checking for valid texture access, rather than checking whether it is null, when drawing fog boundaries in the software renderer 2019-09-13 09:18:26 -04:00
Magnus Norddahl
7d73616fda - release any references to command buffer when flushed 2019-08-25 12:12:29 +02:00
Christoph Oelckers
38fec546a7 - moved the generic palette utilities and the matrix class to 'utility' 2019-08-20 23:05:20 +02:00
Christoph Oelckers
9210811b74 - patch the token 'texture2d' in GLSL sources.
This builtin function no longer exists outside of backwards compatible GLSL compilers so it needs to be remapped to 'texture' so that user shaders still using it can compile.
2019-08-18 14:50:37 +02:00