Magnus Norddahl
4f73a722af
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_draw.cpp
2017-02-08 00:34:19 +01:00
Magnus Norddahl
b36444ca1c
Fix camera shader colormap (invulnerability effect) not getting applied to hardware accelerated player sprites
2017-02-07 20:43:41 +01:00
Magnus Norddahl
58495ea714
Renamed Clip3DFloors to Clip3D to fix gcc compile error
2017-02-06 16:04:27 +01:00
Magnus Norddahl
7e6c91d73c
Remove yslope loopup table and StepColumn
2017-02-06 15:15:09 +01:00
Rachael Alexanderson
9c50600286
- fix compile errors
2017-02-05 00:53:36 -05: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
bf6ab1efc8
Clip sprites by thread slice
2017-02-04 21:55:56 +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
5105a5d254
Fix msvc compile error
2017-02-04 13:43:39 +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
4fadc4e9a3
Fix typo
2017-02-03 21:25:51 +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
a0a40281b3
Simplify skyplane light selection
2017-02-03 08:19:59 +01:00
Magnus Norddahl
191438b238
Move Drawers function to viewport
2017-02-03 08:06:47 +01:00
Magnus Norddahl
c219969b68
Fix blinking wall light regression
2017-02-02 18:46:21 +01:00
Magnus Norddahl
7b4d9675c9
Fix compile errors
2017-02-02 15:24:21 +01:00
Magnus Norddahl
e90b73539e
Move viewport drawing to its own folder
2017-02-02 15:10:06 +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
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
4fdacfe96e
Fix crash in palette mode
2017-01-31 13:26:06 +01:00
Magnus Norddahl
eadeccd709
Fix typo
2017-01-30 20:23:50 +01:00
Magnus Norddahl
0c61b56655
Clean up SkyDrawerArgs interface
2017-01-30 20:21:18 +01:00
Magnus Norddahl
98fa2976fa
Clean up the SpanDrawerArgs interface a bit
2017-01-30 12:46:17 +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
c486892c4a
Make colfunc, wallfunc, spanfunc private and remove the rest
2017-01-30 11:43:15 +01:00
Magnus Norddahl
2f365e7d2b
Rename ColumnDrawerArgs to SpriteDrawerArgs
2017-01-30 11:27:58 +01:00
Magnus Norddahl
e17c8c1678
Split wall drawer selection from sprite
2017-01-30 11:25:25 +01:00
Magnus Norddahl
36a23d60b8
Make spanfunc private and local to SpanDrawerArgs
2017-01-30 05:26:57 +01:00
Magnus Norddahl
81a20213a7
Force colormap/light selection to go through function calls
2017-01-30 05:07:07 +01:00
Magnus Norddahl
fd459b1f13
Remove redundant span drawer args
2017-01-30 04:35:28 +01:00
Magnus Norddahl
162f469630
Remove unused variables from the old 4 column drawers
2017-01-29 10:25:32 +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
8fceb60532
Removed unused variable
2017-01-28 08:40:31 +01:00
Magnus Norddahl
bd35d1d39f
Remove ds_fcolormap
2017-01-28 08:19:21 +01:00
Magnus Norddahl
dbf9cd5de5
Remove a few more drawerargs
2017-01-28 08:17:31 +01:00
Magnus Norddahl
9eebe3e940
Remove unused drawer args
2017-01-28 08:04:11 +01:00
Magnus Norddahl
fe40ad200e
Remove the goto in RenderDecal::Render!
2017-01-28 07:13:52 +01: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
alexey.lysiuk
6a826f37bd
Fixed compilation with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label'
2017-01-26 22:21:22 +02: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
8b0304c1e3
Remove static from RenderFogBoundary
2017-01-26 08:24:44 +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
9d9395c855
Updated the copyright
2017-01-26 06:59:20 +01:00
Magnus Norddahl
348b73eb83
Fix gcc warning
2017-01-25 03:45:57 +01:00
Magnus Norddahl
86d9594d6e
Convert r_walldraw to a class
2017-01-24 08:41:35 +01:00
Magnus Norddahl
b256f6ed89
Make wallsetup globals local to where they are used
2017-01-24 07:06:47 +01:00
Magnus Norddahl
ac74a7a1e0
Refactor wall setup into ProjectedWallLine and ProjectWallTexcoords
2017-01-24 06:50:17 +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
946ab93ff6
Remove unused friend declaration
2017-01-24 05:00:11 +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
07acd9375b
The memset antipattern cannot be used on classes with a virtual table
2017-01-24 02:28:32 +01:00
Rachael Alexanderson
03226e5a0a
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
2017-01-23 00:17:25 -05: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
111b5c5469
Add support for repeating skies in the TC sky drawer
2017-01-19 00:12:54 +01:00
Magnus Norddahl
8788a9e788
- Change all sky drawing code use to use the sky drawers
...
- Add support for drawing repeating skies in the sky drawers
- Add the old 4 column sky fade optimization to the 1 column variant (fixes speed regression when 4col was removed)
- Remove skyplane globals
- Remove walldraw code used to draw the old skies
2017-01-19 00:02:51 +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
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
2848ca53dc
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_things.cpp
# src/r_things.h
2017-01-16 23:05:34 +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
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
42535b17f1
Rename FRenderer::ClearBuffer to SetClearColor
2017-01-15 03:21:35 +01:00
Magnus Norddahl
f9175561bb
Change RenderTarget global to be an internal swrenderer variable
2017-01-15 03:19:03 +01:00
Magnus Norddahl
aaee6e333f
Mark PrecacheTexture private and remove unneeded declarations
2017-01-15 02:50:37 +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
ca046d26c5
Make particle texture slightly higher quality
2017-01-13 16:12:43 +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
alexey.lysiuk
8260bbbe77
Fixed compilation with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label / jump bypasses variable initialization'
2017-01-13 15:44:23 +02:00
Magnus Norddahl
5d9cc6a706
let 'forcenoskystretch' also apply to sky mode 2
2017-01-13 13:23:00 +01:00
Magnus Norddahl
9723078121
Removed dc_texturemid
2017-01-12 22:52:17 +01:00
Magnus Norddahl
bd8d2f501f
Remove dc_light_list
2017-01-12 22:11:25 +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
9f8ac7e498
Convert r_skyplane into a class
2017-01-11 22:09:06 +01:00
Magnus Norddahl
0885ff44a0
Convert r_flatplane and r_slopeplane into classes
2017-01-11 21:59:26 +01:00
Magnus Norddahl
fc29958dc7
Convert r_fogboundary to a class
2017-01-11 21:33:28 +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
8ed66791e7
Change define to enum
2017-01-11 18:38:51 +01:00
Magnus Norddahl
48b4915f5b
Convert r_playersprite to a class
2017-01-11 18:35:20 +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
7dfb46b8d9
Convert r_decal to a class
2017-01-11 18:10:51 +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
Magnus Norddahl
361bb11b13
Remove -28 offset to fix issue 0000012
2017-01-10 20:07:51 +01:00
Magnus Norddahl
4be291fb61
Fix divide by zero (issue 0000022)
2017-01-10 18:25:06 +01:00
Magnus Norddahl
ece8e95853
Revert range adjustment (can't make out if this is wrong or not - if it is, it is wrong across the entire function)
2017-01-10 15:16:55 +01:00
Magnus Norddahl
751bd120ac
Fix warning about potential uninitialized lightfiller reported by gcc
2017-01-10 15:14:55 +01:00
Magnus Norddahl
8fc6660a4a
Disable SSE stuff
2017-01-10 13:45:14 +01:00
Magnus Norddahl
c4573fa343
Disable SSE on arm
2017-01-10 13:39:57 +01:00
alexey.lysiuk
079f3bd78c
Fixed compilation errors with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label'
2017-01-09 17:26:19 +02: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