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
Magnus Norddahl
b2e61412da
- add missing sprite blends to the soft poly drawer
2017-03-22 09:11:21 +01:00
Magnus Norddahl
25a30f8b7e
- remove vectorcall from the 8 bit drawer
2017-03-21 14:28:31 +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
fea4079b7c
- moved nodes into FLevelLocals.
2017-03-17 01:42:37 +01:00
Christoph Oelckers
f201dab534
- moved the subsectors into FLevelLocals.
2017-03-17 00:22:52 +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
Christoph Oelckers
3aa7687d91
- made 'nocoloredspritelighting' a global option and also implemented it in the software renderer.
2017-03-16 00:56:03 +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
921bc763fb
- separated the software-renderer-specific parts of colormap processing from the common parts.
...
- moved testcolor and test fades into SWRenderer files.
These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +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
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
Christoph Oelckers
d86bd470e5
- moved two MAPINFO settings that are not exclusively used by the OpenGL renderer to the common code.
2017-03-14 18:31:11 +01:00
Magnus Norddahl
00f6ed45a2
Make LightVisibility thread local
2017-03-12 20:40:00 +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
921abc404d
- fixed GCC warnings and errors
...
(Is there anyway to tone down GCC's warning level? It outputs too many false positives for potentially uninitialized variables in which the genuine errors get drowned.)
2017-03-11 19:02:35 +01:00
Rachael Alexanderson
81291e6892
- fixed: Clang on Linux compile
2017-03-11 11:01:30 -05: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
Christoph Oelckers
a4710bcdb0
- did a bit of header cleanup to reduce the dependency on dobject.h.
2017-03-09 23:30:42 +01:00
Christoph Oelckers
d2beacfc5f
- except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types.
2017-03-09 19:54:41 +01:00
Magnus Norddahl
65f8d65858
Minor code clean up
2017-03-06 23:27:02 +01:00
Rachael Alexanderson
cb8b2de287
- somehow, this missed a few.
2017-03-06 16:58:48 -05:00
Rachael Alexanderson
28abc96aef
- fully implemented "nolightfade" to turn off diminishing lights in the software renderer.
...
- unfortunately, LIGHT2SHADE had to be transformed into a namespaced function.
2017-03-06 16:14:54 -05:00
Magnus Norddahl
56045c1293
Remove r_drawers.h and move softpoly drawer related stuff out of the swrenderer
2017-02-23 09:02:13 +01:00
Magnus Norddahl
ad507ca246
Removed drawergen tool and all LLVM dependencies (don't let the door hit you on your way out, llvm!)
2017-02-23 08:28:18 +01:00