Commit graph

182 commits

Author SHA1 Message Date
Magnus Norddahl
9416d436fe Move software renderer into its own namespace to isolate its globals and make
any access explicit. This reveals the places in the code where they are being
accessed where they shouldn't and prevents accidental usage.
2016-12-01 02:38:32 +01:00
Rachael Alexanderson
dcd389f696 Merge branch 'master' of https://github.com/rheit/zdoom 2016-11-27 11:55:05 -05:00
Magnus Norddahl
6417c1a7a3 Rewrite PrepWall and PrepLWall, plus make them aware of pixel centers 2016-11-27 00:43:32 +01:00
Magnus Norddahl
547973c8ba Rewrite OWallMost and WallMost to contain no build code 2016-11-26 23:28:21 +01:00
Rachael Alexanderson
5e547e9455 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/r_segs.cpp
#	src/v_draw.cpp
2016-11-05 23:38:50 -04:00
Marisa Heit
ae28c9b29c Fix divide by 0 in new wallscan functions with 1-pixel tall textures 2016-11-05 22:09:38 -05:00
Magnus Norddahl
d084f77546 Fix mipmap generation bug
Fix crash due to dc_source2 not always being set
Add r_lod_bias to control mipmap selection
Improve LOD calculations to take the U texture coordinate into account
2016-11-05 16:12:59 +01:00
Magnus Norddahl
4b18530047 Add linear filtering to column drawers and fix offsetting bug with wall/span linear filters 2016-11-05 11:29:50 +01:00
Magnus Norddahl
60ae4a8568 Replace build wallscan with a rewritten version that tile and scale correctly 2016-11-05 04:02:30 +01:00
Magnus Norddahl
12a1755edf Move texture info to R_DrawMaskedColumn and add bounds checking 2016-11-04 01:39:53 +01:00
Magnus Norddahl
90c8b3370a Fix mipmap sampling bug 2016-11-03 12:51:07 +01:00
Magnus Norddahl
1ccf190c4f Merge remote-tracking branch 'zdoom/master' into qzdoom 2016-11-01 19:51:17 +01:00
Marisa Heit
429aed85e1 Fixed: Masked midtexture yscale incorrectly used the texture's X scale 2016-11-01 01:57:43 -04:00
Marisa Heit
5df21fda68 Fixed: Masked midtexture yscale incorrectly used the texture's X scale 2016-11-01 00:18:56 -05:00
Marisa Heit
9388597443 Add 1 pixel tall and wide texture support to the renderer
- These require manual detection and overriding of the scaling factors to
  0, because a right shift of (32-0) bits wraps around to 0 and results in
  no shift at all rather than leaving the register zeroed out.
2016-11-01 00:08:16 -05:00
Magnus Norddahl
837ed7bd80 Fix dancing sprites due to texture coordinate calculations not taking pixel centers into account
Merge R_DrawMaskedColumn and R_DrawMaskedColumnHoriz into one function to remove code duplication
2016-10-29 05:35:41 +02:00
Rachael Alexanderson
7d174e6b3e Merge ../zdoom 2016-10-23 08:17:28 -04:00
Marisa Heit
31f01d076e Fixed: Decals calculated "lighting" wrong
- Instead of calculating lighting based from the left edge of the wall
  segment the decal was on, it was calculated from the left edge of the
  wall instead.
2016-10-22 20:27:02 -05:00
raa-eruanna
df6214b142 - Fixes 2016-10-21 07:21:56 -04:00
raa-eruanna
c76431414a - Implemented r_fullbrightignoresectorcolor from QZDoom 2016-10-21 07:06:24 -04:00
raa-eruanna
b327a3312e - Fully Implemented GZDoom fullbright emulation 2016-10-21 06:08:25 -04:00
Magnus Norddahl
dfed525e18 macOS warnings and build fix 2016-10-16 23:18:56 +02:00
Magnus Norddahl
366d494b18 Merged R_DrawMaskedColumnHoriz into R_DrawMaskedColumn 2016-10-14 08:33:59 +02:00
Magnus Norddahl
aae4571c95 Changed column drawers to use true color textures 2016-10-07 12:45:21 +02:00
raa-eruanna
32f758de41 Merge branch 'truecolor' of https://github.com/dpjudas/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-08 03:19:08 -04:00
Christoph Oelckers
e04055dbb2 - added multiple message levels for 'developer' CVAR so that the important stuff won't get drowned in pointless notification spam that's of no use to anyone.
- made 'developer' CVAR persist across launches and added some menu entries for it.
- added checks for 'developer' to ACS's CheckInventory function.
2016-08-28 09:55:04 +02:00
Magnus Norddahl
7a65a0f595 Made mipmapping a little less aggressive 2016-06-27 11:57:27 +02:00
Magnus Norddahl
200d357b0d Linear filtering bug fix 2016-06-27 11:43:24 +02:00
Magnus Norddahl
6c037fa249 Throwing templates at the code redundancy problem in drawers 2016-06-26 21:23:32 +02:00
Magnus Norddahl
7705463966 Improved linear filtering of walls
Fixed some crash bugs
Added mipmap and filtering options to the display menu
2016-06-25 10:33:35 +02:00
Magnus Norddahl
8ec420a597 Added support for more texture filtering control 2016-06-24 19:05:04 +02:00
Magnus Norddahl
698b5f3db1 Simplify drawer code by creating loop iterators
Fixed blending bug
2016-06-24 11:37:51 +02:00
Magnus Norddahl
7a0c801a18 Added mipmapping to wallscan 2016-06-22 08:23:16 +02:00
Magnus Norddahl
c70aa1fe99 Added bilinear filtering 2016-06-20 08:24:02 +02:00
Magnus Norddahl
a6d696bbfd Undo removal of wallscan_np2 and wallscan_np2_ds 2016-06-11 00:50:36 +02:00
Magnus Norddahl
d5331e6095 Wallscan fix 2016-06-10 22:22:40 +02:00
Magnus Norddahl
27156eb60a Linux compile fixes and missing variable declarations 2016-06-10 16:32:47 +02:00
Magnus Norddahl
05b6fe6174 Added true color texture support for walls and floors 2016-06-10 13:50:34 +02:00
Magnus Norddahl
c59db95cc8 Rewrote wallscan to fix buffer overruns and code duplication. 2016-06-09 23:12:38 +02:00
Magnus Norddahl
0c8c9e0aea Added FDynamicColormap support to true color mode 2016-06-05 14:08:03 +02:00
Magnus Norddahl
47f32d03cd Fixed some light and blending functions for the true color mode 2016-06-02 14:49:03 +02:00
Magnus Norddahl
05220a7133 Added IsBgra() to DCanvas
Changed SWRender output format to be decided by IsBgra()
2016-05-31 09:36:18 +02:00
Magnus Norddahl
045bad1b52 Removed the need for the pixel_canvas_t typedef 2016-05-31 05:31:32 +02:00
Magnus Norddahl
20b7743ec3 Added R_SetColorMapLight and R_SetDSColorMapLight 2016-05-31 01:49:39 +02:00
Magnus Norddahl
8aabc26cd9 Created standalone rgba drawing functions 2016-05-30 05:52:15 +02:00
Magnus Norddahl
6e53c1bd12 Change render target output from PAL8 to BGRA8 2016-05-28 20:40:33 +02:00
Christoph Oelckers
0726a88ab9 - only return DWORD aligned addresses in openings because the 3D floor code stores floating point values in there which cannot be accessed on platforms with strict alignment rules. 2016-05-11 12:04:41 +02:00
Randy Heit
a95c6b9644 Draw upper/lower textures on two-sided portal lines 2016-04-29 21:54:29 -05:00
Randy Heit
f3d273c94f Fixed: Tiled midtextures could go up past the ceiling when a 3D floor is in view 2016-04-28 22:06:57 -05:00
Randy Heit
96228ca15f Trying to fix some rounding, not sure it's actually correct yet 2016-04-28 21:14:48 -05:00