Commit graph

145 commits

Author SHA1 Message Date
Magnus Norddahl
1101253fc6 - Fix depth values written by sloped planes
(cherry picked from commit 7f25913b2d)
2018-05-09 11:10:37 +02:00
Magnus Norddahl
e519605c7d - 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

(cherry picked from commit 2d51fa5b43)
2018-05-09 10:47:22 +02:00
Magnus Norddahl
d43ac8b9ae - Add model rendering to the software renderer 2017-11-27 23:47:26 +01:00
Magnus Norddahl
4e4f94db2f - Implement newer scaled fuzz in softpoly's truecolor non-sse drawer 2017-11-22 06:32:55 +01:00
Rachael Alexanderson
495fc79fe9 - added dpJudas's drawer fix for the upscaled fuzz drawing 2017-11-21 05:26:46 -05:00
Magnus Norddahl
77faab5a75 - Fixed overflow for precise blend mode 2017-08-29 19:25:05 +02:00
Magnus Norddahl
dd6e0b63f2 - Fix typo in pal drawers that caused rendering errors for non-64x64 flats 2017-08-18 21:12:44 +02:00
Magnus Norddahl
1ce3b4c79c - Fix dynamic light clamping issue in truecolor drawers 2017-07-23 23:45:43 +02:00
Magnus Norddahl
f34ededdef - Improved fuzz rendering in software renderer by scaling it relative to 320x200 2017-06-25 00:35:15 +02:00
Magnus Norddahl
fa36677bdb - Removed power-of-two limitation from span drawers, except for slopes 2017-06-21 03:08:11 +02:00
Magnus Norddahl
8beafbb7da - Fix voxel speed regression in the palette software renderer 2017-06-18 19:45:15 +02:00
Rachael Alexanderson
5185ebbc28 - fixed: Add light diminishing to true-color stencil drawers
- fixed: Non-SSE AddClampShadedBgra (stencil) drawer did not handle overflows
2017-06-04 12:46:39 -04:00
Rachael Alexanderson
62374cf3bc - fixed: add light diminishing support to rgb666 palette stencil drawers 2017-06-04 12:26:04 -04:00
Rachael Alexanderson
564e24be28 - Added truecolor support to truecolor stencil drawers 2017-06-04 12:00:15 -04:00
Magnus Norddahl
e27e89b57d - Make sure a hung worker thread always crashes the application 2017-05-21 12:03:12 +02:00
Magnus Norddahl
aff9205057 - Fix mipmap filtering bug when using nearest filter 2017-05-21 11:01:37 +02:00
Christoph Oelckers
57d703236b - changed Doom source license to GPL in all subdirectories and fixed missing licenses in a few other files. 2017-04-17 12:27:19 +02:00
Magnus Norddahl
d407aa3157 - Fix linear filtering bug for sprites 2017-04-13 22:16:26 +02:00
Magnus Norddahl
5c5e3bdcba - change fuzzing to not do any offsetting but keep the shading pattern produced by it 2017-04-03 19:11:38 +02:00
Magnus Norddahl
6db89a2ce1 - clean up the triangle setup functions 2017-04-01 03:44:45 +02:00
Magnus Norddahl
ad992d2ffd - add support for choosing the particle style in the software renderer 2017-03-27 10:12:57 +02:00
Rachael Alexanderson
f1ce0f1136 - Removed redundant #ifdef __arm__ #define NO_SSE from 2.5D drawers 2017-03-25 01:39:09 -04:00
Rachael Alexanderson
4110f34139 - fixed: non-SSE2 drawers still had SSE2 intrinsics for light calculations, preventing successful compilation on ARM. 2017-03-21 17:51:09 -04:00
Magnus Norddahl
11e5759913 - detached the poly renderer from the software renderer 2017-03-20 08:28:16 +01:00
alexey.lysiuk
cb5ddeff25 Fixed compilation warnings reported by Clang
src/gl/scene/gl_clipper.h:150:23: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
src/gl/dynlights/gl_aabbtree.cpp:137:24: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:137:34: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:137:44: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:139:6: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:139:30: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:139:54: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:142:6: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:143:3: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:144:3: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_aabbtree.cpp:167:6: warning: using integer absolute value function 'abs' when argument is of floating point type [-Wabsolute-value]
src/gl/dynlights/gl_shadowmap.cpp:163:31: warning: '&&' within '||' [-Wlogical-op-parentheses]
src/p_saveg.cpp:367:16: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
src/p_saveg.cpp:402:60: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
src/p_setup.cpp:1553:39: warning: format specifies type 'ptrdiff_t' (aka 'long') but the argument has type 'int' [-Wformat]
src/scripting/zscript/zcc_compile.cpp:293:74: warning: field 'AST' will be initialized after field 'mVersion' [-Wreorder]
src/swrenderer/drawers/r_thread.cpp:113:21: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-03-18 15:13:02 +02:00
Magnus Norddahl
fc0f2292ab - add non-sse version of the sprite drawers
- fix some typos
2017-03-17 08:44:33 +01:00
Magnus Norddahl
1435832b09 - added non-sse span drawers 2017-03-17 07:36:02 +01:00
Magnus Norddahl
5644b2c0fd Create non-sse version of the wall drawers 2017-03-17 06:58:36 +01:00
Magnus Norddahl
a6e47b571f - change _mm_load_ss to _mm_set_ss just in case compilers are really dumb 2017-03-17 06:19:26 +01:00
Christoph Oelckers
2b2c986bd0 - cleanup of GL renderer interface and improper header use in software renderer. 2017-03-16 21:34:03 +01:00
Christoph Oelckers
b529b1e3a7 - removed several unneeded GL headers from the software renderer's sources.
- consolidated the code to calculate a sprite's display angle for all 3 renderers.

As it turned out, they all differed in their feature support because they had always been updated independently by different people.
2017-03-16 13:49:34 +01:00
Rachael Alexanderson
a2fc2fb707 - Add new drawer: AddClampShadedSprite
- fixed: AddShaded did not have a drawer associated with it in the software renderer - used new drawer for this purpose.
2017-03-15 14:40:22 -04:00
Magnus Norddahl
93908bc2ef - fix crash if a worker thread is the first thread to queue drawer commands 2017-03-14 23:47:41 +01:00
Magnus Norddahl
3838ec3edc - allow drawer queues to run immediately to improve r_scene_multithreaded performance
- removed unused pass ranges in DrawerThread
2017-03-14 23:03:14 +01:00
Magnus Norddahl
5fdbbc4f9e Remove usage of r_viewpoint and r_viewwindow globals from software renderer and poly renderer 2017-03-12 18:54:39 +01:00
Magnus Norddahl
0c9014b984 - move r_utility globals into r_viewpoint and r_viewwindow
- change r_utility functions to only work on FRenderViewpoint and FViewWindow
2017-03-11 23:28:07 +01:00
Christoph Oelckers
bd7476fb8d - untangled r_defs.h from actor.h
Both files can now be included independently without causing problems.
This also required moving some inline functions into separate files and splitting off the GC definitions from dobject.h to ensure that r_defs does not need to pull in any part of the object hierarchy.
2017-03-10 02:22:42 +01:00
Christoph Oelckers
4de0f8b1fa - compile both poly and sw renderer as one unit, because due to the includes this gets really slow otherwise. Lumping these together saves 50 seconds per build on my system with a 3.4 GHz Core i7 and an SSD for storage, so on other systems it may be even more. 2017-03-10 00:43:36 +01:00
Rachael Alexanderson
4d70b01da5 - followed through with GZDoom's SQWORD removals. 2017-03-08 21:35:20 -05:00
Magnus Norddahl
279fa7e886 Non-SSE version of the sky drawers 2017-03-08 23:35:13 +01:00
Rachael Alexanderson
effe8a1e80 Revert "- started adding ARM support. incomplete. won't compile. don't try."
This reverts commit be8abba344.
2017-03-05 13:07:25 -05:00
Rachael Alexanderson
be8abba344 - started adding ARM support. incomplete. won't compile. don't try. 2017-03-04 16:50:42 -05:00
Rachael Alexanderson
e7a1a59053 - Disabled alpha-masking textures for now, since they do not yet work. (needs texman fix) 2017-02-25 16:36:57 -05:00
Rachael Alexanderson
9b40aa9605 - Fixed two typos as identified by dpJudas. 2017-02-25 15:32:50 -05:00
Magnus Norddahl
735157aea4 Bump minimum architecture to SSE 2 on the x86 platform (a Pentium 4 from 2001!) 2017-02-25 01:22:54 +01:00
Magnus Norddahl
e697746e7d Remove the php drawers and their generated output 2017-02-24 16:59:45 +01:00
Magnus Norddahl
51b872b30b Created template version of sprite drawers 2017-02-24 16:52:13 +01:00
Magnus Norddahl
d3812e32f8 Created templated version of wall drawers 2017-02-24 15:31:47 +01:00
Magnus Norddahl
2a7bdaad79 Switched to a template version of the span32 drawers 2017-02-24 13:56:20 +01:00
Magnus Norddahl
616e800635 Don't copy the SpriteDrawerArgs members now that drawer args are grouped by drawer family 2017-02-24 04:32:40 +01:00