Magnus Norddahl
00f6ed45a2
Make LightVisibility thread local
2017-03-12 20:40:00 +01:00
Magnus Norddahl
6788b19e89
- stop using PORTSF_INSKYBOX flag in software renderer as it is not thread safe
2017-03-12 19:43:40 +01:00
Magnus Norddahl
3113db798d
Debug build compile fix
2017-03-12 19:10:52 +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
Christoph Oelckers
90c42519b7
- fixed changed variable inside an assert that apparently got overlooked because it got only compiled as release.
2017-03-12 01:59:41 +01:00
Christoph Oelckers
9b33d1dd18
Merge branch 'scene_multithreaded' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/gl/scene/gl_clipper.cpp
# src/gl/scene/gl_portal.cpp
# src/gl/scene/gl_scene.cpp
# src/swrenderer/scene/r_scene.cpp
2017-03-12 00:38:55 +01:00
Christoph Oelckers
0aa0db637c
- started adding a SceneDrawer class to the OpenGL renderer.
...
This will eventually hold all the global variables for the rendering.
2017-03-12 00:19:20 +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
Christoph Oelckers
9b87a167d7
- replaced a large batch of DWORDs.
...
Most of those which still rely on ZDoom's own definition should be gone, unfortunately the code in files that include Windows headers is a gigantic mess with DWORDs being longs there intead of ints, so this needs to be done with care. DWORD should only remain where the Windows type is actually wanted.
2017-03-09 20:19:55 +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
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
eb7955694b
Disable diminishing light in software renderer
2017-03-05 16:57:58 +01:00
Magnus Norddahl
9123c71bb6
Fix clang warning
2017-02-12 03:25:17 +01:00
Magnus Norddahl
3c0d769499
Fix portals draw segment indexing bug
2017-02-09 22:58:28 +01:00
Magnus Norddahl
c16aa3d361
Fix crouch player sprite
2017-02-09 12:18:40 +01:00
Magnus Norddahl
371dd98102
Show player in mirrors and portals
2017-02-09 05:57:37 +01:00
Magnus Norddahl
388c511e11
Fix portal sprite clipping bugs
2017-02-09 05:42:15 +01:00
Magnus Norddahl
58495ea714
Renamed Clip3DFloors to Clip3D to fix gcc compile error
2017-02-06 16:04:27 +01:00
Magnus Norddahl
4172d70d95
Make Frozen Time rendering 4 times faster by grouping draw segments in batches of 100 (old algorithm processed 32000 draw segs per sprite!)
2017-02-05 00:42:42 +01:00
Magnus Norddahl
d1cbb76b63
Only render player sprites on main thread
2017-02-04 21:00:05 +01:00
Magnus Norddahl
beae9a3dc7
Stop using validcount for sprites
2017-02-04 20:32:06 +01:00
Magnus Norddahl
cfe4c55973
Remove software renderer internals from F3DFloor
2017-02-04 19:13:56 +01:00
Magnus Norddahl
8ad132b64f
Execute scene slices on worker threads
2017-02-04 16:45:36 +01:00
Magnus Norddahl
d9e545a519
Hook up thread slices and eliminate some statics hiding in misc functions
2017-02-04 15:51:54 +01:00
Magnus Norddahl
f50532af8a
Reorder scene setup to do the stuff that can't be threaded first
2017-02-04 14:20:58 +01:00
Magnus Norddahl
5bae06a3c6
Make RenderScene the work dispatching class
2017-02-04 14:00:21 +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
da346427d3
Change draw segment list to use TArray
2017-02-03 21:11:55 +01:00
Magnus Norddahl
812cc61b16
Fix some typos
2017-02-03 09:08:00 +01:00
Magnus Norddahl
892350ac2e
Add functions to CameraLight
2017-02-03 09:00:46 +01:00
Magnus Norddahl
e90b73539e
Move viewport drawing to its own folder
2017-02-02 15:10:06 +01:00
Magnus Norddahl
69b7312099
Add some transform helpers on RenderViewport
2017-02-01 23:23:10 +01:00
Magnus Norddahl
d91e6ccece
Remove dc_destorg and ylookup
2017-02-01 22:24:34 +01:00
Magnus Norddahl
ca93d7456a
Change redundant bRenderingToCanvas into a helper function
2017-02-01 21:59:48 +01:00
Magnus Norddahl
bb0a223b80
Remove unused dc_destheight
2017-02-01 21:55:55 +01:00
Magnus Norddahl
7b578bbb53
Remove redundant dc_pitch
2017-02-01 21:52:29 +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
c574b0ad3f
Remove R_InitColumnDrawers and only allow DrawerArgs classes to call drawers
2017-01-30 11:53:11 +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
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
ed05a2edd3
Create CameraLight class
2017-01-26 10:22:54 +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
29dcea49d7
Move RenderDrawSegment to its own file
2017-01-26 08:13:39 +01:00
Magnus Norddahl
6899b351a2
Create class for draw segment list
2017-01-26 08:01:44 +01:00
Magnus Norddahl
2821c15795
Rename drawseg_t to DrawSegment
2017-01-26 07:03:27 +01:00
Magnus Norddahl
12271cbfb5
Remove the 1000 portal segment limit and make WallPortals private to RenderPortal
2017-01-24 05:31:39 +01:00
Magnus Norddahl
f94cced13d
Move ColormapLight to r_light
2017-01-24 04:24:04 +01:00
Magnus Norddahl
ca8f71b561
Remove the need for RenderPlayerSprites::SetupSpriteScale
2017-01-24 04:19:43 +01:00
Magnus Norddahl
ba6094be2e
Detach player sprites from VisibleSprite
2017-01-24 04:15:54 +01:00
Magnus Norddahl
112085ebff
Split Clear into two functions
2017-01-19 03:19:31 +01:00
Magnus Norddahl
e94cb3f114
Rename visplane_t to VisiblePlane
2017-01-19 03:11:49 +01:00
Magnus Norddahl
9eef7f9b32
Make visplanes hash list private
2017-01-19 03:02:32 +01:00
Magnus Norddahl
a92771431b
Changed visible plane list to use the shared frame memory allocator instead of using its own internal free list
2017-01-19 01:47:58 +01:00
Magnus Norddahl
9e0ae21197
Move fakeceiling and fakefloor into the inner loop
2017-01-17 02:32:23 +01:00
Magnus Norddahl
cc0c0f0236
Fix not copying the shade variable first
2017-01-17 02:27:59 +01:00
Magnus Norddahl
8e72e094ce
Fix floor brightness affects sprites not in sector
2017-01-17 02:16:13 +01:00
Magnus Norddahl
1c3440e391
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_plane.cpp
# src/r_plane.h
2017-01-16 06:03:21 +01:00
Magnus Norddahl
433eb77c37
Moved DrawSprite to VisibleSprite and marked all its variables as protected
2017-01-16 05:43:56 +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
Magnus Norddahl
57d8b0e34c
Rewrite VisibleSpriteList to use TArray
2017-01-16 03:46:05 +01:00
Magnus Norddahl
cd9043fd94
Make RenderActorView private
2017-01-15 23:03:58 +01:00
Magnus Norddahl
f6cc75fad5
Convert r_clipsegment into a class
2017-01-15 22:57:42 +01:00
Magnus Norddahl
74e1cea9c3
Removed openings array
2017-01-15 22:21:21 +01:00
Magnus Norddahl
e02aece40a
Added a generic memory allocator for memory needed for a frame
2017-01-15 21:45:21 +01:00
Magnus Norddahl
601ddb270d
Create a class for the viewport
2017-01-15 04:06:52 +01:00
Magnus Norddahl
f9175561bb
Change RenderTarget global to be an internal swrenderer variable
2017-01-15 03:19:03 +01:00
Magnus Norddahl
4c12ba740f
Remove SetWindow from FRenderer interface
2017-01-15 02:46:43 +01:00
Magnus Norddahl
1e7015643d
Remove ErrorCleanup from FRenderer interface
2017-01-15 02:04:49 +01:00
Magnus Norddahl
3093aaadc9
Remove SetupFrame and CopyStackedViewParameters from FRenderer interface
2017-01-15 01:54:25 +01:00
Magnus Norddahl
1b043bb46c
Minor cleanup in r_swrenderer
2017-01-15 01:36:57 +01:00
Magnus Norddahl
5ea28897af
Move r_scene into a class
2017-01-14 02:25:02 +01:00
Magnus Norddahl
edd9b6c69c
Change the shape of the particle texture
2017-01-13 15:43:06 +01:00
Magnus Norddahl
e1506df8a6
Change globvis to be picked up from the r_light values in softpoly
2017-01-13 15:22:22 +01:00
Magnus Norddahl
9e940b4287
Remove basecolormap global
2017-01-12 21:29:19 +01:00
Magnus Norddahl
929e07697d
Remove foggy global
2017-01-12 20:13:21 +01:00
Magnus Norddahl
f912b4ab8b
Convert r_actualextralight global to a function
2017-01-12 19:09:13 +01:00
Magnus Norddahl
40f79371f5
Remove GlobVis global as it apparently wasn't very global!
2017-01-12 18:38:27 +01:00
Magnus Norddahl
80e1844d6c
Split r_main into r_viewport, r_scene and r_light
2017-01-12 16:21:46 +01:00
Magnus Norddahl
c80860cd5d
Split r_visibleplane into more files
2017-01-11 23:27:35 +01:00
Magnus Norddahl
2988a5fe87
Convert r_visibleplane into classes
2017-01-11 23:08:24 +01:00
Magnus Norddahl
3f8e5d26b8
Rename RenderBSP to RenderOpaquePass and RenderTranslucent to RenderTranslucentPass
2017-01-11 20:42:39 +01:00
Magnus Norddahl
6f1836b68b
Move classes in r_visiblesprite to their own files
2017-01-11 19:50:07 +01:00
Magnus Norddahl
32b91dd978
Convert r_visiblesprite to classes
2017-01-11 19:33:02 +01:00
Magnus Norddahl
ee2811450d
Convert r_wallsprite to a class
2017-01-11 18:28:19 +01:00
Magnus Norddahl
7bed0ffeb6
Convert r_voxel to a class
2017-01-11 18:25:14 +01:00
Magnus Norddahl
164af7264f
Convert r_sprite into a class
2017-01-11 18:17:28 +01:00
Magnus Norddahl
deae5bb1a6
Convert r_particle to a class
2017-01-11 18:14:04 +01:00
Magnus Norddahl
4b96d7377f
Detach voxel and wallsprite projection from (normal) sprite projection and move the type decision making to RenderBSP::AddSprites
2017-01-11 17:59:29 +01:00
Magnus Norddahl
dce3a1c81c
Move remaining parts of r_things into r_visiblesprite
2017-01-11 15:41:42 +01:00
Magnus Norddahl
f288d589ff
Move defines and enums to where they are used
2017-01-11 15:09:35 +01:00
Magnus Norddahl
72762e583f
Move AddSprites to r_bsp and R_ProjectSprite to r_sprite
2017-01-11 15:02:36 +01:00