Christoph Oelckers
f2dcff4386
- more options for Doom 64 style gradients on walls:
...
* Colors can npw be defined per sidedef, not only per sector.
* Gradients can be selectively disabled or vertically flipped per wall tier.
* Gradients can be clamped to their respective tier, i.e top and bottom of the tier, not the front sector defines where it starts.
The per-wall colors are implemented for hardware and softpoly renderer only, but not for the classic software renderer, because its code is far too scattered to do this efficiently.
2018-11-11 16:04:36 +01:00
Magnus Norddahl
01ea329cd4
- only render visual portals if they are front facing
2018-08-23 18:19:53 +02:00
Magnus Norddahl
f8272287d2
- make softpoly use the r_dynlights cvar
2018-06-26 02:19:47 +02:00
Magnus Norddahl
a91147a3a5
- move DrawArray and DrawElements to PolyTriangleDrawer
2018-06-10 15:58:01 +02:00
Magnus Norddahl
61f379c88f
- fix null pointer crash in softpoly
2018-06-05 22:42:21 +02:00
Magnus Norddahl
4e6226fc2d
- replace softpoly block drawers with span drawers and make them use blending rules directly from render styles
...
- add dynlights to softpoly pal mode
2018-05-29 23:32:57 +02:00
Magnus Norddahl
190b673890
- Modify TriBlendMode enum to match the render styles
2018-05-26 23:06:23 +02:00
Magnus Norddahl
45625399dc
- fix softpoly line portals
2018-04-23 23:09:11 +02:00
Magnus Norddahl
16a8d71caf
- Simplify the portal code in softpoly somewhat
2018-04-21 15:19:28 +02:00
Magnus Norddahl
2d51fa5b43
- Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
...
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes
2018-04-07 15:48:48 +02:00
Christoph Oelckers
e89a598b31
- renamed FTexture's UseType flags and gave them a dedicated type.
...
This was done mainly to reduce the amount of occurences of the word FTexture but it immediately helped detect two small and mostly harmless bugs that were found due to the stricter type checks.
2018-03-25 20:26:16 +02:00
Christoph Oelckers
f4d9ad1123
- extended FTexture::GetPixels and FTexture::GetColumn by a RenderStyle parameter.
...
Now it is no longer necessary to provide specially set up textures for rendering shaded decals, they can use any PNG texture now that contains a proper red channel.
Handling of the alPh chunk has been removed as a result as it in no longer needed.
2018-03-18 21:33:44 +01:00
Magnus Norddahl
e71e4b6dc8
- Improved transfer heights support in softpoly
2017-09-30 23:58:11 +02:00
Magnus Norddahl
789214200c
- Attenuated lights support
2017-09-23 02:27:39 +02:00
Magnus Norddahl
dd8a114bb8
- Initial dynamic light support for softpoly
2017-09-21 05:39:16 +02:00
Magnus Norddahl
70220fb4cc
- Slightly improve softpoly opaque pass performance
2017-09-12 02:40:09 +02:00
Magnus Norddahl
5ab0f34aca
- Don't draw 3d floor walls that have zero height or less
2017-09-10 02:18:07 +02:00
Magnus Norddahl
7a1274ab76
- Collect all PVS information first so that processing the individual sectors can be done on multiple threads
2017-09-07 00:34:09 +02:00
Magnus Norddahl
dd0bc02eec
- Convert PolyTranslucentObject to be a base class for all the different forms of translucent objects to be drawn
2017-09-02 18:17:55 +02:00
Magnus Norddahl
23aebaecc6
- Cleaned up some copyright statements
...
- Removed unused cull argument from some functions
2017-09-02 17:14:02 +02:00
Magnus Norddahl
fbaa3e7cb0
- Removed unused cull function argument
2017-09-02 01:34:36 +02:00
Magnus Norddahl
e851734b33
- Added translucent 3d floor walls support
2017-09-02 01:24:57 +02:00
Magnus Norddahl
b3916c1d01
- Add FF_UPPERTEXTURE and FF_LOWERTEXTURE support to softpoly
2017-09-02 00:35:48 +02:00
Magnus Norddahl
293f62fcd2
- Striped wall (lightlist) support
...
- Add two extra clipping planes to poly backend
- Make ShadedTriVertex internal to drawer backend
2017-08-27 23:26:54 +02:00
alexey.lysiuk
ec42e30614
Fixed compilation warning reported by Clang
...
src/polyrenderer/scene/poly_wall.cpp:166:15: warning: '&&' within '||' [-Wlogical-op-parentheses]
2017-08-19 11:18:52 +03:00
Magnus Norddahl
05ca52d693
- Fix texture coordinates for 3d floor walls
2017-08-19 00:53:41 +02:00
Magnus Norddahl
8034793193
- Wrap midtex support
2017-08-17 23:14:02 +02:00
Magnus Norddahl
7993ad987c
- Fix texture coordinates for lines split into multiple segments in softpoly
2017-08-17 20:54:44 +02:00
Magnus Norddahl
122c56f005
- Add fog boundary support to softpoly
2017-08-17 00:10:43 +02:00
Magnus Norddahl
fbd381988b
- Fix wall UV scaling and offsetting bugs in softpoly
2017-08-16 22:26:05 +02:00
Magnus Norddahl
bf38fd57b0
- Replace subsector gbuffer in softpoly with a zbuffer
2017-08-12 15:16:31 +02:00
Magnus Norddahl
a0cc78d6aa
- Fix softpoly wall clipping bug
2017-06-10 10:16:42 +02:00
Magnus Norddahl
31125486ad
- Improve line portal rendering somewhat
2017-05-14 08:55:30 +02:00
Magnus Norddahl
0a4f4aaffd
- Stop using sqrt when calculating texture coordinates
2017-05-13 15:48:55 +02:00
Magnus Norddahl
9011f0ed5b
- Fix texture coordinates for sloped walls
2017-05-06 18:44:06 +02:00
Magnus Norddahl
aca628acaf
- Improve wall texture coordinates in softpoly
2017-05-06 15:48:04 +02:00
Magnus Norddahl
f049e6145b
- remove all usage of std::make_unique to keep things C++11 compliant
2017-04-11 01:25:44 +02:00
Magnus Norddahl
d15def7d41
- remove TriVertex::NumVaryings as this did not help on readability at all
2017-03-28 10:52:19 +02:00
Magnus Norddahl
0537e9c1ba
- implement all styles for sprites in softpoly
2017-03-27 21:03:51 +02:00
Magnus Norddahl
a12f0862c9
- remove softpoly intersection math class
2017-03-26 17:12:20 +02:00
Magnus Norddahl
ffc90f16ab
- Simplify the PolyDrawArgs interface
2017-03-26 10:10:55 +02:00
Magnus Norddahl
7b58eab332
- fix softpoly light visibility bug
2017-03-26 05:28:27 +02:00
Magnus Norddahl
321e2da979
- initialize clipper with the view frustum for better performance
...
- change translucent objects to be pointers for faster sorting
2017-03-24 22:04:07 +01:00
Magnus Norddahl
f178646e1a
- improve sector portals rendering in softpoly
...
- fix a softpoly memory leak and change vertex list to be allocated using the frame allocator
2017-03-24 07:28:28 +01:00
Magnus Norddahl
e12f48699e
- fix the culling bugs in softpoly by switching to a pseudo-angle clipper
2017-03-23 03:41:44 +01:00
Magnus Norddahl
d437b342db
- replaced the softpoly drawers with templated versions
2017-03-21 14:12:19 +01:00
Magnus Norddahl
11e5759913
- detached the poly renderer from the software renderer
2017-03-20 08:28:16 +01:00
Christoph Oelckers
76d3ae5ba2
made the sector's color_* properties work in the software renderer.
...
With no 3D floors this appears to be ok, but there are so many places where colormaps are being set in the software renderer that I cannot guarantee that I got all of them correct. This will need some testing.
2017-03-15 23:24:53 +01:00
Christoph Oelckers
9a24771a7d
- refactored FDynamicColormap out of sector_t.
...
This has increasingly become an obstacle with the hardware renderer, so now the values are being stored as plain data in the sector, with the software renderer getting the actual color tables when needed. While this is a bit slower than storing the pregenerated colormap, in realistic situations the added time is mostly negligible in the microseconds range.
2017-03-15 22:04:59 +01:00
Magnus Norddahl
00f6ed45a2
Make LightVisibility thread local
2017-03-12 20:40:00 +01:00