Magnus Norddahl
a08f35fe3b
Fix missing player sprites in some situations when r_scene_multithreaded is on
2017-03-13 19:19:46 +01:00
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
Rachael Alexanderson
6c04439315
- Fixed compile errors with last merge.
2017-01-09 10:16:24 -05:00
Magnus Norddahl
4c67a717f8
Remove drawerargs from r_things
2017-01-09 14:56:29 +01:00
Magnus Norddahl
4eac238d26
Remove commented out code
2017-01-09 14:52:50 +01:00
Magnus Norddahl
bb2806c9ca
Remove WallSpriteTile global
2017-01-09 14:51:34 +01:00
Magnus Norddahl
b9024f87a0
Remove unused globals
2017-01-09 14:48:19 +01:00
Magnus Norddahl
65fa807433
Remove spriteshade global
2017-01-09 14:46:57 +01:00
Magnus Norddahl
3b5dc96f4a
Move player sprite scale to r_playersprite and make it private
2017-01-09 14:28:31 +01:00
Magnus Norddahl
da85de01de
Move prototype
2017-01-09 14:22:00 +01:00
Magnus Norddahl
6d642b1906
Move FCoverageBuffer to r_voxel
2017-01-09 14:20:47 +01:00
Magnus Norddahl
579199a246
Move R_DrawVisSprite to r_sprite and move R_DrawMaskedColumn to r_draw
2017-01-09 13:53:02 +01:00
Magnus Norddahl
e806b9424c
Move r_portal into a class
2017-01-05 04:55:26 +01:00
Magnus Norddahl
47ca45bf18
Convert FakeSide to enum class
2017-01-04 19:03:33 +01:00
Magnus Norddahl
5f8075f726
Convert r_3dfloors to a class
2017-01-04 18:54:14 +01:00
Magnus Norddahl
28732d63d2
Move r_bsp into a class
2017-01-04 15:39:47 +01:00
Magnus Norddahl
c396e7f949
Make r_bsp and r_line stop sharing floorplane and ceiling plane variables
2017-01-04 05:10:16 +01:00
Magnus Norddahl
abdc7f9ff1
Move WindowLeft, WindowRight, MirrorFlags to r_portal
2017-01-03 19:25:00 +01:00
Magnus Norddahl
863f17ada9
Fix function names
2017-01-03 19:08:02 +01:00
Magnus Norddahl
a4c0e29913
Moved r_line into a class and implemented proper parameter passing between r_line and r_bsp, r_walldraw, r_wallsetup, r_decal, r_wallsprite, r_fogboundary, r_portal and r_playersprite
2017-01-03 18:57:48 +01:00
Magnus Norddahl
e7ab5dddb6
Put add the copyright statement from the files the code originated from
2017-01-03 07:17:54 +01:00
Magnus Norddahl
a9fbd421fb
Move line handling to r_line and drawseg drawing to r_drawsegment and then remove r_segs
2017-01-03 07:13:40 +01:00
alexey.lysiuk
41a107a89f
Fixed compilation with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label' because of 'note: jump bypasses variable initialization'
2017-01-02 17:57:26 +02:00
Magnus Norddahl
388da85937
Move some more vars
2017-01-02 03:46:48 +01:00
Magnus Norddahl
34bd21449b
Move line working variables to r_line
2017-01-02 03:12:51 +01:00
Magnus Norddahl
81658d7c88
Move line handling to more files
2017-01-01 10:28:35 +01:00
Magnus Norddahl
3967156d62
Moved remaining parts of r_plane to r_visibleplane
2016-12-31 14:45:41 +01:00
Magnus Norddahl
07826ccd2f
Move variables closer to their correct location
2016-12-31 14:15:06 +01:00
Magnus Norddahl
0884a09b38
Move floorclip, ceilingclip, floorplane and ceilingplane closer to their location
2016-12-31 14:00:12 +01:00
Magnus Norddahl
165134f1a7
Make wallshade private to r_segs
2016-12-31 13:12:09 +01:00
Magnus Norddahl
ce864655e3
Remove wallshade global from R_RenderDecals
2016-12-31 12:59:43 +01:00
Magnus Norddahl
918904074a
Remove wallshade global from R_DrawFogBoundary
2016-12-31 12:57:48 +01:00
Magnus Norddahl
6fd3691da4
Remove unused declarations
2016-12-31 12:50:57 +01:00
Magnus Norddahl
ad15d56a81
Move files into additional folders
2016-12-31 12:45:07 +01:00
Magnus Norddahl
2f96dcc1a8
Move fog boundary drawing to r_fogboundary
2016-12-31 12:04:23 +01:00
Magnus Norddahl
f354cc8c67
Move flat and slope plane drawing to their own files, isolate and privatize their working variables
2016-12-31 11:42:49 +01:00
Magnus Norddahl
447b162534
Move sky rendering to its own file
2016-12-31 10:19:31 +01:00
alexey.lysiuk
e3a909c296
Fixed compilation with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label'
2016-12-30 16:05:57 +02:00
Magnus Norddahl
99e263e1b3
Decal rendering to r_decal
2016-12-30 08:31:02 +01:00
Magnus Norddahl
50c525161b
Move wallsprite handling to r_wallsprite
2016-12-30 08:11:06 +01:00
Magnus Norddahl
98026c5711
Move player sprite handling to r_playersprite
2016-12-30 07:51:39 +01:00
Magnus Norddahl
bf237799bf
Move particle drawing to r_particle
2016-12-30 07:26:25 +01:00
Magnus Norddahl
f133b4caa4
Move vissprite to its own file
2016-12-30 07:15:10 +01:00
Magnus Norddahl
80e369541a
Move visplane_t to its own file
2016-12-30 06:42:20 +01:00
Magnus Norddahl
775deeb151
Move variables closer to their correct location
2016-12-30 06:15:10 +01:00
Magnus Norddahl
41d0e7c663
Move portal drawing to r_portal
2016-12-30 06:08:47 +01:00
Magnus Norddahl
60c0dcc3c7
Move openings to r_memory
2016-12-30 05:35:25 +01:00
Magnus Norddahl
74e1955afa
Move more to r_draw_segment
2016-12-30 05:01:42 +01:00
Magnus Norddahl
b615b1b497
Move some draw segment functions to r_draw_segment
2016-12-29 01:06:24 +01:00
Magnus Norddahl
18a551f936
Move all clip segment handling to r_clip_segment and make its working data private
2016-12-28 12:07:55 +01:00
Magnus Norddahl
1b284ecf3b
Create files for clip, draw and portal segments
2016-12-28 07:04:13 +01:00