Commit graph

62 commits

Author SHA1 Message Date
Magnus Norddahl
efb8e39aa9 - move more of the light calculation code to the drawerargs 2018-12-18 00:37:50 +01:00
Magnus Norddahl
2ce91ea62f - delay converting sprite lightlevels to a shade until we hit ColormapLight 2018-12-17 07:54:46 +01:00
Magnus Norddahl
f35aeec6c3 - move visibility calculation to LightVisibility 2018-12-17 05:10:26 +01:00
Christoph Oelckers
9bdb0f2e49 - renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
2018-05-01 11:29:29 +02:00
Christoph Oelckers
942460ba55 - changed voxel remapping to make a copy instead of destroying the original.
With live renderer switching both sets of data are needed.
2018-04-03 00:30:02 +02:00
Magnus Norddahl
71623198d2 - remove fake3D with structs and localize their usage instead of sharing global state 2018-03-08 04:05:35 +01:00
Christoph Oelckers
2c65f08011 - more timer cleanup
* store the frame time in the current screen buffer from where all render code can access it.
* replace some uses of I_MSTime with I_FPSTime, because they should not use a per-frame timer. The only one left is the wipe code but even this doesn't look like it needs either a per-frame timer or a timer counting from the start of the playsim.
2017-11-13 00:28:43 +01:00
Christoph Oelckers
e94109f1c3 - Inside the renderer, use only the time value being passed to RenderView.
The voxel rotation code of the software renderer and R_SetupFrame still called I_FPSTime directly.
2017-11-12 23:53:46 +01:00
Christoph Oelckers
6bd76d6b5a - fixed compilation in debug mode.
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
Magnus Norddahl
307d8931d8 - Switch to C++11 steady clock
- Move the C++11 implementation to d_main
- Remove the platform specific timer implementations
2017-11-12 03:12:22 +01:00
Magnus Norddahl
205350e726 - Fix sprites behind midtextures unrender when near voxel 2017-07-02 20:09:46 +02:00
Magnus Norddahl
6d8281c812 - Fix voxel clipping for r_scene_multithreaded 2017-07-02 18:22:28 +02:00
Magnus Norddahl
8beafbb7da - Fix voxel speed regression in the palette software renderer 2017-06-18 19:45:15 +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
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
Magnus Norddahl
77a388e908 Fix default palette for voxel BGRA slab data and support translated 8-bit slab data in true color mode 2017-03-11 18:31:53 +01:00
Rachael Alexanderson
bb1d29d491 - Fixing r_voxel's license. 2017-03-10 12:04:43 +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
Christoph Oelckers
c008ddaf66 - replaced homegrown SWORD, SBYTE and uint32_t types. 2017-03-09 19:31:45 +01: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
5a85fabfa6 Add true color support to voxel renderer 2017-02-12 01:27:26 +01:00
Magnus Norddahl
0cea344dce Fix voxel clipping bug 2017-02-11 23:23:34 +01:00
Magnus Norddahl
8c5360e547 Enable Ken Silverman's voxel drawing code now that he has given us permission to license it as GPL 2017-02-11 22:10:52 +01:00
Magnus Norddahl
6f5e720576 Split drawer command queue from drawer threads 2017-02-04 12:38:05 +01:00
Magnus Norddahl
45f623faf4 Move frame memory allocator into RenderThread 2017-02-04 02:50:52 +01:00
Magnus Norddahl
627a388d57 Move renderer singletons into a RenderThread class 2017-02-04 00:25:37 +01:00
Magnus Norddahl
7b4d9675c9 Fix compile errors 2017-02-02 15:24:21 +01:00
Magnus Norddahl
d8c6f9acfd Limit access to sprite drawer variables 2017-02-02 13:51:41 +01:00
Magnus Norddahl
f3d968cf41 Move wall drawer args into functions 2017-02-02 11:16:18 +01:00
Magnus Norddahl
69b7312099 Add some transform helpers on RenderViewport 2017-02-01 23:23:10 +01:00
Magnus Norddahl
93166fa150 Remove r_swtruecolor variable as it is redundant 2017-02-01 21:42:08 +01:00
Magnus Norddahl
e78e76a593 Move r_viewport variables into a class 2017-02-01 16:02:21 +01:00
Magnus Norddahl
2f365e7d2b Rename ColumnDrawerArgs to SpriteDrawerArgs 2017-01-30 11:27:58 +01:00
Magnus Norddahl
7c7d6e99e9 Split DrawerArgs into WallDrawerArgs, ColumnDrawerArgs, SpanDrawerArgs and SkyDrawerArgs 2017-01-29 10:05:37 +01:00
Magnus Norddahl
92bd752935 Move drawerargs globals into a class and make them local 2017-01-29 07:49:04 +01:00
Rachael Alexanderson
2fb82aaa9f Revert "- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers."
This reverts commit 2f9453bc86.

# Conflicts:
#	src/swrenderer/line/r_line.cpp
#	src/swrenderer/line/r_renderdrawsegment.cpp
#	src/swrenderer/things/r_decal.cpp
#	src/swrenderer/things/r_wallsprite.cpp
2017-01-28 17:37:57 -05:00
Magnus Norddahl
4afac0f2cc Force all drawing to go through DrawerStyle 2017-01-28 16:36:39 +01:00
Rachael Alexanderson
2f9453bc86 - Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers. 2017-01-28 09:53:24 -05:00
Magnus Norddahl
5f38b15635 Move colfunc family of globals into a DrawerStyle class and localize its usage 2017-01-28 07:08:59 +01:00
Magnus Norddahl
4bbf1ba11c Move visibility stuff into LightVisibility 2017-01-26 09:49:07 +01:00
Magnus Norddahl
933f2d116a Move DrewAVoxel to VisibleSpriteList 2017-01-26 08:39:44 +01:00
Magnus Norddahl
34f85569b4 Change RenderTranslucentPass to be a singleton 2017-01-26 08:36:28 +01:00
Magnus Norddahl
ba6094be2e Detach player sprites from VisibleSprite 2017-01-24 04:15:54 +01:00
Magnus Norddahl
8e72e094ce Fix floor brightness affects sprites not in sector 2017-01-17 02:16:13 +01:00
Magnus Norddahl
e154ff888d Implement the todo that someone left in the source code 2017-01-17 01:43:45 +01:00
Magnus Norddahl
906c944895 Merge colormap selection into one function 2017-01-17 01:30:12 +01:00
Magnus Norddahl
6c76c8534b Change visstyle_t back to how it was in ZDoom and stop using it internally in the swrenderer 2017-01-16 16:23:02 +01:00
Magnus Norddahl
55131a7a6d Rename vissprite_t to VisibleSprite, convert it into a base class and lower all variables if possible. Remove unused fields and unions. 2017-01-16 05:26:22 +01:00