Commit graph

96 commits

Author SHA1 Message Date
Magnus Norddahl
2659090e1c Move renders into folders 2016-12-27 06:31:55 +01:00
Magnus Norddahl
e91c5ac54d Merge branch 'master' into OverlayExtension10 2016-12-27 04:32:13 +01:00
Major Cooke
ff3487d389 Merge branch 'OverlayAlpha' into OverlayExtension9
# Conflicts:
#	src/p_pspr.cpp
#	src/r_draw.cpp
#	wadsrc/static/actors/actor.txt
#	wadsrc/static/actors/constants.txt
2016-12-26 14:37:22 -06:00
Magnus Norddahl
6f86c11058 DrawWallAdd1Pal cannot do dynamic lights 2016-12-25 07:56:09 +01:00
Magnus Norddahl
ced7bdf94a Remove rt drawer family and the infrastructure supporting it 2016-12-25 05:46:16 +01:00
Magnus Norddahl
57593adeb0 Simplify ESPSResult to a boolean 2016-12-25 05:15:23 +01:00
Magnus Norddahl
b0febec986 Removed r_columnmethod as its performance gains are too insignificant to justify its complexity on the codebase 2016-12-25 05:05:53 +01:00
Rachael Alexanderson
564bfe482c Merge branch 'zdoom-rgb666-take3' of https://github.com/raa-eruanna/qzdoom into qzdoom-rgb666
# Conflicts:
#	src/r_draw.cpp
#	src/r_plane.cpp
#	src/r_things.h
#	src/v_draw.cpp
#	src/v_video.cpp
2016-12-24 19:00:28 -05:00
Rachael Alexanderson
101108877a - Reimplemented rgb555 into all drawers in r_draw_pal.cpp including span drawers. All that remains now are the 4col drawers in r_drawt_pal.cpp. 2016-12-24 11:40:15 -05:00
Magnus Norddahl
2bb2395569 Add menu option to enable dynamic lights (independent of the OpenGL setting so that you can have it on in OpenGL and off in Software) 2016-12-23 23:44:52 +01:00
Magnus Norddahl
8cc4c8a192 Merge remote-tracking branch 'upstream/master' into zdoom-rgb666-take2
# Conflicts:
#	src/r_draw_pal.cpp
2016-12-23 21:27:50 +01:00
Rachael Alexanderson
821b10a254 - Implementing RGB666 colormatching to replace less precise RGB555 in some parts of the code. 2016-12-23 11:41:10 -05:00
Magnus Norddahl
fcbacf8cac Plane dynlight setup 2016-12-22 07:06:18 +01:00
Magnus Norddahl
4e56c9a41a Hooked up dynamic light on walls 2016-12-21 07:33:28 +01:00
Magnus Norddahl
452e0dcfc9 Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_draw.cpp
#	src/r_draw.h
#	src/r_plane.cpp
2016-12-20 02:10:10 +01:00
Magnus Norddahl
2676ca1284 Rename wall drawer args and functions to closer match the general naming convention 2016-12-19 21:39:16 +01:00
Magnus Norddahl
9ac7a07be6 - Set colormap light info using R_SetColorMapLight and R_SetDSColorMapLight rather than manually calculating it
- Move texture and span management into R_DrawMaskedColumn
2016-12-18 11:58:32 +01:00
Rachael Alexanderson
0b4fd6c766 Merge https://github.com/rheit/zdoom 2016-12-15 20:07:10 -05:00
Rachael Alexanderson
8fede44c3d - fixed: Some RenderStyles would crash ZDoom. 2016-12-15 18:55:20 +01:00
Christoph Oelckers
cfd6bcec5e - more Build cleanup: Moved clearbufshort out of Build derived headers, removed the inline version for GCC 32 bit which was actually Build derived and renamed the C-version of this function, which does not originate from Build to 'fillshort'.
- cleaned out a lot the SafeDivScale stuff in m_fixed.h. The only SafeDivScale variant still in use was #16 for FixedDiv, so all the SafeDivScale stuff has been removed and the 16 variant renamed to FixedDiv because that's the only form in which it is still being used. (2x in R_DrawVoxel and 1x in ACS's FixedDiv PCode.)
- removed Build notice from m_fixed.h because aside from the inlines includes there is nothing here from Build anymore.

(cherry picked from commit eab06ef086)
2016-12-09 08:13:22 -05:00
Christoph Oelckers
eab06ef086 - more Build cleanup: Moved clearbufshort out of Build derived headers, removed the inline version for GCC 32 bit which was actually Build derived and renamed the C-version of this function, which does not originate from Build to 'fillshort'.
- cleaned out a lot the SafeDivScale stuff in m_fixed.h. The only SafeDivScale variant still in use was #16 for FixedDiv, so all the SafeDivScale stuff has been removed and the 16 variant renamed to FixedDiv because that's the only form in which it is still being used. (2x in R_DrawVoxel and 1x in ACS's FixedDiv PCode.)
- removed Build notice from m_fixed.h because aside from the inlines includes there is nothing here from Build anymore.
2016-12-09 13:04:53 +01:00
Magnus Norddahl
9ed02a6aec Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/doomtype.h
#	src/r_drawt.cpp
2016-12-07 18:35:27 +01:00
Magnus Norddahl
e3e90e1a08 Merge TC handling back into r_draw 2016-12-07 18:28:06 +01:00
Christoph Oelckers
1e42c6f227 - added copyright headers to two files missing them. 2016-12-07 11:40:59 +01:00
Magnus Norddahl
3ff91807b8 Move swrenderer into a namespace, add multithreading framework, and move drawers to commands 2016-12-07 09:34:49 +01:00
Christoph Oelckers
c0a622eb54 - removed pointless assignment. 2016-12-05 02:08:26 +01:00
Christoph Oelckers
f6fb27b683 - deleted rt_copy*col and rt_map*col assembly versions after running benchmarks that show inferior performance to the C++ versions on both older and newer CPUs. 2016-12-05 00:46:58 +01:00
Christoph Oelckers
86fcc3fd21 - added a heavily optimized version of vlinec4 for x64. The original loaded everything from the global variables. While this is acceptable in 32 bit code because it has an immediate register load instruction, for 64 bit this does not exist. Accessing these variables from the stack or a register doubles the execution speed of this function and on a Core i7-3770 from 2012 is even faster than the assembly version. Right now the assembly version is still there, pending a benchmark run on an older 64 bit system. 2016-12-04 23:53:36 +01:00
Christoph Oelckers
f4454d2e00 - minor, but very effective optimization for R_DrawSpanMasked: Do not store the texel value in a byte. Store it in a local int variable. This allows the compiler to read it with a zero extending instruction instead of using a byte reading instruction and then later having it to convert to an int anyway. This removes one instruction from the loop which results in a 10% performance increase on 32 bit. 2016-12-04 19:32:54 +01:00
Christoph Oelckers
c9caaf08c8 - removed asm version of R_DrawFuzzColumn, because even on my 9 year old laptop this was significantly slower than the C version. 2016-12-04 18:38:38 +01:00
Christoph Oelckers
13efb34964 - removed the asm version of R_DrawColumn because it doesn't provide any significant benefit.
On modern systems it is actually slower than the C version, only on old ones it is marginally faster - but the overall execution time for this function is so low that even in the worst case scenario the minor loss of performance on older systems is still not relevant.
2016-12-04 18:05:34 +01:00
Christoph Oelckers
d0cf34890c - disabled R_DrawColumnHorizP_ASM because that function appears prone to crashing when rendering decals. 2016-12-04 15:01:48 +01:00
Magnus Norddahl
0ed0c47a45 Optimize capped sky rendering by writing 4 pixels at a time in 5 bands (solid, fade, texture, fade, solid) 2016-12-04 14:28:13 +01:00
Magnus Norddahl
5de8112578 Add support for capping sky with a solid color 2016-10-19 23:52:09 +02:00
Major Cooke
d597af1494 - Fixed a few corner cases where forcing alpha wouldn't work.
- On the other hand, soultrans, fuzzy and stencil (as is, not including the mixing styles like stenciladd) are no longer accounted for by FORCEALPHA.
2016-10-03 13:14:48 -05:00
Randy Heit
44adff459a Remove halfviewwidth
- Why I thought I needed this variable in addition to centerx has
  long ago left my memory.
2016-04-27 22:49:36 -05:00
Randy Heit
3ef5a678d5 Renderer floatification: Use floating point for texturemids and Y scales 2016-04-22 23:12:53 -05:00
Randy Heit
ec8d038c99 Renderer floatification: Use floats for lighting values 2016-04-22 23:10:34 -05:00
Christoph Oelckers
db86385cf6 - removed STACK_ARGS.
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +02:00
Christoph Oelckers
66929cbaff - floatified p_trace, p_slopes and p_udmf.cpp.
- major cleanup of unused code.
2016-03-30 16:30:22 +02:00
Christoph Oelckers
d87f861e87 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 22:23:41 +02:00
Christoph Oelckers
263051a77b - removed a few unnecessary #includes. 2016-03-28 22:20:25 +02:00
Christoph Oelckers
86d1b2955a - floatified most of r_data (The interpolations cannot be done yet.) 2016-03-24 14:11:41 +01:00
Christoph Oelckers
4e60ea0252 - made AActor::alpha a floating point value
- replaced some uses of FRACUNIT with OPAQUE when it was about translucency.
- simplified some overly complicated translucency multiplications in the SBARINFO code.
2016-03-21 12:18:46 +01:00
Christoph Oelckers
cff8e51811 - converted AActor::height to double. 2016-03-20 20:55:06 +01:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Randy Heit
219b6f7c5d Fix R_DrawFogBoundary for right-edge exclusivity 2016-01-31 06:51:11 -06:00
Randy Heit
e259087c19 Change RGB32k to a union of BYTE[32][32][32] and BYTE[32*32*32]
- Clang's optional runtime array bounds checking doesn't understand when we
  intentionally "overflow" by doing this:
    RGB32k[0][0][colorval]
  It will warn that it was accessed at an index will past the bounds
  of type 'BYTE [32]', which makes it less than useful for catching real
  array bounds overflows. So now do this:
    RGB32k.All[colorval]
  And if you want this:
    RGB32k[r][g][b]
  Now do this:
    RGB32k.RGB[r][g][b]
2015-03-08 18:05:02 -05:00
Randy Heit
934c27d34a - Fixed: R_GetColumn() needs to clamp negative column indexes to be inside the texture if the
texture's width isn't a power of 2.

SVN r3881 (trunk)
2012-10-05 04:21:34 +00:00
Randy Heit
e2a018227f - Added additive blending for floors and ceilings.
SVN r3813 (trunk)
2012-08-09 04:31:31 +00:00