Commit graph

111 commits

Author SHA1 Message Date
Magnus Norddahl
0a4f4aaffd - Stop using sqrt when calculating texture coordinates 2017-05-13 15:48:55 +02:00
Magnus Norddahl
7af11b1963 - Offset sky in softpoly by 180 degrees 2017-05-12 17:59:22 +02:00
Magnus Norddahl
7a2be275af - Fix interpolator bug in softpoly 2017-05-12 17:47:11 +02:00
Magnus Norddahl
5c6cbd17a1 - Move polyobj rendering to be handled as a special case in RenderPolyScene 2017-05-12 17:26:17 +02:00
Magnus Norddahl
f7d1a2a574 - Add polyobj support to softpoly 2017-05-12 14:05:32 +02:00
Magnus Norddahl
f492e92cb5 - Handle degenerate triangles either sent as input or caused by clipping 2017-05-10 02:43:00 +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
5c1dc900e3 - Slightly improve sky rendering in softpoly 2017-05-06 01:43:05 +02:00
Magnus Norddahl
4fcea96a1c - Improve softpoly sky rendering a little bit 2017-05-05 03:27:22 +02:00
Magnus Norddahl
17108e575a - Add support for drawing decals on 3d floors in softpoly 2017-05-02 22:24:32 +02:00
Magnus Norddahl
63e0310961 - add non-sse version of the softpoly drawers 2017-04-23 11:05:48 +02:00
Christoph Oelckers
2621c460e3 Revert "- add CPU.bSSE2 branching support to softpoly"
This reverts commit 545241aa06.

These commits are WIP stuff that should not be in the master branch. A work branch has been created to finalize this code.
2017-04-23 10:39:07 +02:00
Magnus Norddahl
fe2864d396 - add the AVX-2 softpoly drawer to the repository for completeness sake (not currently used) 2017-04-22 22:15:09 +02:00
Magnus Norddahl
9c805d1867 - added non-sse version of the true color softpoly drawers 2017-04-22 22:05:47 +02:00
alexey.lysiuk
e4c73cfc5f Fixed compilation on Linux
src/polyrenderer/drawers/poly_triangle.cpp:212:20: error: ‘CPU’ was not declared in this scope
src/polyrenderer/drawers/screen_triangle.cpp:955:6: error: ‘CPU’ was not declared in this scope
2017-04-22 22:21:34 +03:00
Magnus Norddahl
545241aa06 - add CPU.bSSE2 branching support to softpoly 2017-04-22 20:38:06 +02:00
Christoph Oelckers
1ee9256842 - did a complete workover of the weapon sprite translucency code that got inherited from QZDoom.
This was very poorly done without ever addressing the issues a composite render style can bring, it merely dealt with the known legacy render styles.
The same, identical code was also present in two different places.
The oversight that AlterWeaponSprite overrode even forced styles was also fixed.

OpenGL is not implemented yet but with the problems eliminated should be doable now.
2017-04-15 16:41:00 +02:00
Christoph Oelckers
e4d2380775 - moved all remaining fields from PClassActor to FActorInfo.
- added a few access functions for FActorInfo variables.

With PClassActor now empty the class descriptors can finally be converted back to static data outside the class hierarchy, like they were before the scripting merge, and untangle the game data from VM internals.
2017-04-12 00:07:41 +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
bdf02ea67c - move masked reads 2017-04-11 01:11:30 +02:00
Magnus Norddahl
1312e9fb72 - fix linker error on platforms with no SSE support 2017-04-05 22:36:57 +02:00
Magnus Norddahl
f12c42d8d1 - add fuzz mode to softpoly 2017-04-04 01:11:55 +02:00
Magnus Norddahl
4a9dffa70d - change subsector gbuffer to use a 8x8 block memory layout to avoid having to clip memory reads and writes 2017-04-01 23:21:06 +02:00
Magnus Norddahl
4a0b3c3bab - speed up triangle setup slightly 2017-04-01 16:42:24 +02:00
Magnus Norddahl
da6bfe65ff - only calculate gradients once 2017-04-01 04:38:15 +02:00
Magnus Norddahl
6db89a2ce1 - clean up the triangle setup functions 2017-04-01 03:44:45 +02:00
Christoph Oelckers
1d4ab0cc2a - implemented proper scaling for the status bar itself.
This allows using the UI scale or its own value, like all other scaling values.
In addition there is a choice between preserving equal pixel size or aspect ratio because the squashed non-corrected versions tend to look odd, but since proper scaling requires ununiform pixel sizes it is an option.

- changed how status bar sizes are being handled.

This has to recalculate all scaling and positioning factors, which can cause problems if the drawer leaves with some temporary values that do not reflect the status bar as a whole.
Changed it so that the status bar stores the base values and restores them after drawing is complete.
2017-03-29 19:23:40 +02:00
Magnus Norddahl
e8ba1156af - add rect drawers for softpoly's player sprites 2017-03-28 16:46:22 +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
5adf7463cd - support render styles on decals 2017-03-27 21:59:43 +02:00
Magnus Norddahl
0537e9c1ba - implement all styles for sprites in softpoly 2017-03-27 21:03:51 +02:00
Magnus Norddahl
e865ba60f5 - support particle styles in softpoly 2017-03-27 11:33:16 +02:00
Christoph Oelckers
bb04eea996 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-03-27 01:06:28 +02:00
Magnus Norddahl
84e94f2a32 - change softpoly psprite drawing to do exactly what the software renderer does 2017-03-26 18:55:23 +02:00
Christoph Oelckers
0cbbd8d4b1 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-03-26 18:41:44 +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
Christoph Oelckers
488fface50 - started port of Doom status bar to ZScript.
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Magnus Norddahl
04057b8b91 - implement the blending modes for palette mode in softpoly 2017-03-25 08:38:27 +01:00
Rachael Alexanderson
c5805ddd6e - removed another vestigial #define NO_SSE 2017-03-25 01:46:41 -04:00
Rachael Alexanderson
2c3d867946 - fixed invalid variable reference on ARM 2017-03-25 01:40:13 -04:00
Magnus Norddahl
af5355c69d - fix SSE intrinsics being used on arm 2017-03-25 06:14:19 +01: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
ac518e23bf - improve triangle setup performance a little bit 2017-03-24 20:00:53 +01:00
Magnus Norddahl
bc8a4474d5 - optimize PolyTriangleDrawer::clipedge
- remove slow calls to roundf in the triangle setup functions
2017-03-24 13:04:02 +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
c21037fb03 - fix sky sector portals 2017-03-24 02:11:24 +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