Rachael Alexanderson
9333ce1888
Merge https://github.com/coelckers/gzdoom
2017-01-18 21:15:08 -05:00
Christoph Oelckers
87b9b6111d
- scriptified the BeginPlay methods of the VavoomLight classes.
...
- moved m_Radius back to arg[3] and arg[4], so that scripts have access to light sizes again.
2017-01-18 19:10:25 +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
Christoph Oelckers
d3ab691afb
- scriptified APowerInvisibility.
...
- changed AlterWeaponSprite so that it doesn't expose renderer internals to the script code.
2017-01-16 20:34:12 +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
Christoph Oelckers
d2d6e5d486
- scriptified PowerFlight and PowerWeaponLevel2.
2017-01-15 23:21:38 +01:00
Magnus Norddahl
42535b17f1
Rename FRenderer::ClearBuffer to SetClearColor
2017-01-15 03:21:35 +01:00
Edoardo Prezioso
d91023ba0b
- Fixed GCC/Clang compile errors.
2017-01-14 18:30:01 +01:00
Christoph Oelckers
a9ef73528d
- removed all skybox class types from code in preparation for exporting these classes.
...
- moved SectorPortal struct to FLevelLocals and exported it.
2017-01-14 16:05:40 +01:00
alexey.lysiuk
0b62645a35
Fixed compilation warnings reported by GCC/Clang
...
gl/data/gl_setup.cpp:430:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
gl/data/gl_setup.cpp:527:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
gl/data/gl_setup.cpp:542:19: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
nodebuild.cpp:1056:63: warning: format specifies type 'ptrdiff_t' (aka 'long') but the argument has type 'int' [-Wformat]
p_glnodes.cpp:379:50: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_saveg.cpp:381:18: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_scroll.cpp:532:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
p_setup.cpp:2304:43: warning: format specifies type 'int' but the argument has type 'unsigned long' [-Wformat]
p_setup.cpp:2302:12: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
scripting/codegeneration/codegen.cpp:8488:20: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
scripting/codegeneration/codegen.cpp:8606:15: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
2017-01-14 15:03:14 +02:00
Magnus Norddahl
1c4e0c6385
Merge remote-tracking branch 'gzdoom/master' into qzdoom
2017-01-14 01:56:18 +01:00
Christoph Oelckers
f759b6757a
- scriptified the teleport fog.
2017-01-13 23:17:04 +01:00
Edoardo Prezioso
6eb9015303
- Fixed GCC/Clang compile errors.
2017-01-13 15:42:53 +01:00
Magnus Norddahl
1d941c9839
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_plane.cpp
# src/win32/zdoom.rc
2017-01-13 13:21:10 +01:00
Christoph Oelckers
6cbc0a80e8
- let 'forcenoskystretch' also apply to sky mode 2 and OpenGL, to reflect its true meaning the internal flag has been renamed to FORCETILEDSKY which it always was about.
2017-01-13 11:12:43 +01:00
alexey.lysiuk
7e0c870d0f
Added missing OpenGL extension for PowerPC Macs
2017-01-13 10:51:56 +02:00
Christoph Oelckers
7b7623d2c4
- split DObject::Destroy into the main method, a native OnDestroy and a scripted OnDestroy method and made the main method non-virtual
...
This was done to ensure it can be properly overridden in scripts without causing problems when called during engine shutdown for the type and symbol objects the VM needs to work and to have the scripted version always run first.
Since the scripted OnDestroy method never calls the native version - the native one is run after the scripted one - this can be simply skipped over during shutdown.
2017-01-12 22:49:18 +01:00
Magnus Norddahl
80e1844d6c
Split r_main into r_viewport, r_scene and r_light
2017-01-12 16:21:46 +01:00
Rachael Alexanderson
82ee9e7399
Merge https://github.com/coelckers/gzdoom
2017-01-11 07:48:45 -05:00
Christoph Oelckers
7f3e18a6cc
- fixed a few memory leaks.
2017-01-11 11:37:27 +01:00
Christoph Oelckers
72101473d0
- fixed: The texture for legacy dynamic light handling was always allocated, even if not needed, and it was never freed.
2017-01-11 10:47:45 +01:00
Rachael Alexanderson
05662e5c4d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_plane.cpp
# src/r_things.cpp
2017-01-09 09:51:06 -05:00
Christoph Oelckers
b9ac44e8f2
- fixed: The sight checker's portalgroup variable was not initialized.
...
- got rid of glsegextras.
This was probably one of the most ill-conceived means to save some memory in ZDoom, but now, when a pure software rendered engine no longer needs to be considered it's just totally useless to keep this mess in.
2017-01-09 01:28:07 +01:00
Christoph Oelckers
12037fdc95
- made the vertexes array VM friendly.
2017-01-09 00:46:16 +01:00
Christoph Oelckers
cd7986b1b1
- refactored global sides array to be more VM friendly.
...
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
Christoph Oelckers
cb89a1a81a
- fixed inconsistent use of line_t::portaltransferred.
...
Some parts used 0 as 'nothing' others used UINT_MAX. 0 should refer to the map's default sky, not to nothing.
2017-01-08 14:59:31 +01:00
Christoph Oelckers
71d1138376
- refactored the global lines array into a more VM friendly form, moved it to FLevelLocals and exported it to ZScript.
...
- disabled the Build map loader after finding out that it has been completely broken and nonfunctional for a long time. Since this has no real value it will probably removed entirely in an upcoming commit.
2017-01-08 14:39:16 +01:00
Rachael Alexanderson
6e06adb795
Merge https://github.com/coelckers/gzdoom
2017-01-07 16:04:46 -05:00
Christoph Oelckers
91981e25a8
- moved all 'sectorptr - &level.sectors[0]' constructs into a subfunction.
2017-01-07 20:02:25 +01:00
Christoph Oelckers
c02281a439
- refactored the global sectors array into a more VM friendly type and moved it into FLevelLocals.
2017-01-07 19:32:24 +01:00
Magnus Norddahl
bf850bb788
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/swrenderer/scene/r_things.cpp
2017-01-07 17:44:15 +01:00
Christoph Oelckers
581cd27818
- floatified the translucency values in particle_t to elimintate the gross inaccuracies with fadeout time.
...
- widened ttl variable in particle_t to short to allow longer living particles than 6 seconds.
- reordered fields in particle_t to reduce struct size a bit.
2017-01-07 15:44:39 +01:00
Christoph Oelckers
acf66d9f8f
- fixed some edge cases with visible player sprites through non-static line portals. This required reinstating some code which I thought was no longer needed.
2017-01-07 15:44:38 +01:00
Rachael Alexanderson
de5f5a1221
Merge https://github.com/coelckers/gzdoom
2017-01-06 22:06:25 -05:00
Christoph Oelckers
b11c8fef57
- renamed a few variables for clarity.
2017-01-06 11:56:17 +01:00
Christoph Oelckers
44ad55602d
- got rid of uint32(-1) casts.
2017-01-06 11:43:27 +01:00
alexey.lysiuk
b297047060
Removed useless integer type size expansion
...
Fixed Apple's Clang warnings:
absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value
2017-01-06 10:40:51 +01:00
alexey.lysiuk
0e9f52f9e5
Added virtual destructor to FPresentShaderBase class
...
No more 'delete called on non-final class that has virtual functions but non-virtual destructor' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
d77718d422
Fixed harmless uninitialized variables warnings
...
No more 'variable is used uninitialized whenever switch default is taken' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
9ed2da176e
Fixed signed/unsigned mismatch in comparisons
...
No more 'comparison of integers of different signs' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
Rachael Alexanderson
3548f17f01
Merge https://github.com/coelckers/gzdoom
2017-01-05 10:38:14 -05:00
Christoph Oelckers
fcb1c1edc4
- only print GL extensions to the log, but not to the console.
...
The list has become so long by now that it's more of a distraction than help. Besides, searching on-screen for specific extensions is futile anyway.
2017-01-05 12:01:00 +01:00
Christoph Oelckers
c87836c3f3
- fixed check for Mesa driver.
2017-01-05 11:51:15 +01:00
Christoph Oelckers
f30b2ca80d
- disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken.
2017-01-03 13:59:09 -05:00
Magnus Norddahl
aa11534033
Remove unused (and broken in swrenderer) back boolean from FakeFlat interface
2017-01-03 18:55:12 +01:00
Christoph Oelckers
96623b3052
- disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken.
2017-01-03 12:01:03 +01:00
Rachael Alexanderson
fd9d92d708
Merge https://github.com/coelckers/gzdoom
2017-01-02 22:04:53 -05:00
Christoph Oelckers
1261046f1a
- fixed: The check for explicitly not splitting wall polygons at seg vertices was inverted.
2017-01-02 23:21:28 +01:00
Rachael Alexanderson
2591eb2e54
Merge https://github.com/coelckers/gzdoom
2017-01-02 16:52:02 -05:00
Christoph Oelckers
1a16f664e4
- added a TStaticArray class that allows safe access to resizable static data (like the sectors, linedefs, etc.) for the VM.
...
- used this to replace the line list in Sector because that gets already used and implemented proper bounds checks for this type of array.
2017-01-02 21:40:52 +01:00
Rachael Alexanderson
53c545d045
Merge https://github.com/coelckers/gzdoom
2017-01-02 09:48:45 -05:00
Christoph Oelckers
7c3c886a90
- use the attenuated light definitions from QZDoom.
...
- apply them also to Freedoom.
- to compensate for the increase in light size required for attenuated lights to look correct, when running in legacy mode, they to be reduced in size to 2/3 of their defined size because the textured lighting method does not support real attenuation.
- removed the ancient size limit of 255 for light sizes which comes from a time when args were bytes.
2017-01-02 13:17:03 +01:00
Rachael Alexanderson
2d1a5e6b36
Merge https://github.com/coelckers/gzdoom
2017-01-01 21:44:56 -05:00
Christoph Oelckers
6ab8e90911
- parse GLDEFS and its game-specific variants in lump order instead of both names sequentially.
2017-01-02 00:28:30 +01:00
Rachael Alexanderson
c7dce79831
Merge https://github.com/coelckers/gzdoom
2017-01-01 10:54:19 -05:00
Christoph Oelckers
e4c63563e3
- fixed: The 3D floor light splitting code for sprites did not copy the sector's fog density.
...
- fixed: fog calculations for fuzz effects were wrong.
2017-01-01 00:16:53 +01:00
ZZYZX
3aee73eaa4
Enabled user shader for a cameratexture
2016-12-31 07:27:27 -05:00
ZZYZX
c845fc126a
Enabled user shader for a cameratexture
2016-12-31 12:17:24 +01:00
Rachael Alexanderson
3992fd32cb
Merge https://github.com/coelckers/gzdoom
2016-12-30 05:58:57 -05:00
Christoph Oelckers
a000b57204
- fixed player visibility determination by tracking and translating the actual actor position in addition to the camera position through portals. I hope this fixes the randomly appearing player sprites for good.
2016-12-29 22:19:09 +01:00
Rachael Alexanderson
308e768903
Merge https://github.com/coelckers/gzdoom
2016-12-29 13:57:50 -05:00
Christoph Oelckers
f52744e8a4
- fixed: When looking through a plane mirror the portal plane exclusion logic needs to be flipped, because the mirror inverts the vertical view direction.
2016-12-29 19:54:38 +01:00
Christoph Oelckers
a3070e8846
- fixed: FGLTexture::CreateTexBuffer needs to be more careful with setting the texture's translucency information.
...
First, if it has already been determined the value should be left alone and second, for translated textures the generated buffer is inconclusive so in that case it cannot be used at all.
2016-12-29 14:33:53 +01:00
Rachael Alexanderson
07f22a090c
Merge https://github.com/coelckers/gzdoom
2016-12-28 21:16:14 -05:00
Christoph Oelckers
d748b6ad70
- added explicit fog density as a sector property, accessible through UDMF and ACS.
...
- allow changing sector glow information through ACS.
2016-12-29 01:12:17 +01:00
Rachael Alexanderson
de896920b4
Merge https://github.com/coelckers/gzdoom
2016-12-28 17:38:00 -05:00
Christoph Oelckers
02c3b3613f
- added UDMF properties to set glows per sector.
...
- for explicitly defined glows, use the one for the current animation frame, if an animated texture is active. For default glows it will still use the base texture's to avoid inconsistencies.
2016-12-28 21:35:42 +01:00
Rachael Alexanderson
972bdc2001
Merge https://github.com/coelckers/gzdoom
2016-12-28 12:41:18 -05:00
alexey.lysiuk
5dff3d5af0
Do not apply viewport scaling in fullscreen mode
...
See https://forum.drdteam.org/viewtopic.php?t=7339
2016-12-28 16:11:24 +02:00
alexey.lysiuk
efaaefcb70
gl_scale_viewport CVAR is now saved to config file
...
See https://forum.drdteam.org/viewtopic.php?t=7339
2016-12-28 16:11:10 +02:00
Magnus Norddahl
2659090e1c
Move renders into folders
2016-12-27 06:31:55 +01:00
Rachael Alexanderson
d8df255438
Merge https://github.com/coelckers/gzdoom
2016-12-26 15:46:44 -05:00
Edoardo Prezioso
3f7c057f92
- Fixed heap use after free issue with lights.
2016-12-26 18:23:17 +01:00
Christoph Oelckers
be508bc670
- adjust to using msecnode_t's.
2016-12-26 12:11:55 +01:00
ZZYZX
6f16597668
GL renderer now uses RenderRadius links too
2016-12-25 23:46:03 +01:00
Christoph Oelckers
c5d75c18b4
- make gl_finishbeforeswap more useful by handling the case where it causes stalls on NVidia.
2016-12-25 22:56:18 +01:00
Christoph Oelckers
ad2993950a
- fixed light level calculation for low light levels.
2016-12-25 12:58:29 +01:00
Rachael Alexanderson
fa622710f1
Merge https://github.com/coelckers/gzdoom
2016-12-24 02:31:36 -05:00
Christoph Oelckers
78737f9bc7
- fixed: The cycler for a pulse light needs to be reinitialized when new light properties get applied.
...
- do not clamp the cycler's output to a byte.
2016-12-23 15:25:39 +01:00
Christoph Oelckers
a825d1d92f
Merge branch 'ssao' of https://github.com/dpjudas/dpDoom
2016-12-22 12:40:57 +01:00
Rachael Alexanderson
fa66ca214e
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/win32/zdoom.rc
2016-12-22 06:24:47 -05:00
Christoph Oelckers
36f87b7135
- removed gl_light_ambient.
...
This really serves no use anymore and is mostly a remnant of old times with dark CRT monitors. The default ambient level was set at 20, meaning a sector light level of 40. This is a value actual levels rarely get to, except when using some lighting effects - but it's for those that the ambient clamping did the most damage.
2016-12-22 11:14:13 +01:00
Magnus Norddahl
8a3db6c003
Dynamic lights? Did anyone say DYNAMIC LIGHTS?
2016-12-20 23:21:34 +01:00
Rachael Alexanderson
c109ebf7cb
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-12-09 03:00:02 -05:00
Christoph Oelckers
8f45664089
- fixed: Fog boundaries were not drawn on line portals.
...
There's two restrictions, though:
* on one-sided-line portals fog boundaries will not be drawn.
* the filler sector behind the portal may not have a sky ceiling texture. This is because the drawing code contains several sky checks which get in the way here.
2016-12-08 17:00:15 +01:00
Rachael Alexanderson
dc07c2075f
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-12-08 07:47:33 -05:00
Christoph Oelckers
3558b2234c
- fixed: The dynamic light setup for walls did not portal-translate the light's coordinate.
...
- changed ADynamicLight::CollectWithinRadius to work iteratively to avoid the high stack overhead of 64 bit code.
2016-12-08 12:50:45 +01:00
Rachael Alexanderson
40b68bfea0
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/CMakeLists.txt
2016-12-07 23:12:42 -05:00
Christoph Oelckers
1e950d75bd
- made dynamic light attenuation completely opt-in. This can be done either by setting a MAPINFO option for lights that do not automatically specify it and with a light property. The light property will always take precedence, if set.
2016-12-07 23:17:18 +01:00
Rachael Alexanderson
c04e0d0df3
- fixed: Whoops. One of those danged macros got away. ;)
2016-12-06 18:44:59 -05:00
Rachael Alexanderson
a78b713f4b
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/v_video.cpp
2016-12-06 18:19:08 -05:00
Christoph Oelckers
c3fb43db3a
Merge branch 'gz-zscript'
2016-12-06 22:47:37 +01:00
Rachael Alexanderson
af330e1c41
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-12-06 13:55:46 -05:00
Christoph Oelckers
a3ae05299b
- fixed: glPolygonOffset was not called for flat sprites.
2016-12-06 19:17:02 +01:00
Christoph Oelckers
c115c0a5b2
- fixed: Random flicker lights must set up their size on the first tic they are run. If not they will keep the radius of the previous effect which may be too large.
2016-12-06 18:35:34 +01:00
Christoph Oelckers
d04c37101e
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-12-06 12:59:03 +01:00
Christoph Oelckers
17698467d7
- made application of dynamic lights to additively blended surfaces a MAPINFO option. In most cases this is not wanted but sometimes this can be used to good effect so it should be there as an option.
2016-12-06 12:58:45 +01:00
Rachael Alexanderson
ba723f5296
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-12-05 17:07:27 -05:00
Rachael Alexanderson
824705eaca
- Fixed compile errors with maxviewpitch update
2016-12-05 22:32:18 +01:00
Rachael Alexanderson
c53a20aea6
- Notify gamesim of maxviewpitch change.
2016-12-05 22:32:18 +01:00
Magnus Norddahl
2f3a6da295
Fix buffer overrun
2016-12-05 04:05:55 +01:00
Christoph Oelckers
daf1a40521
- allow swapping the order of gl_finish and SwapBuffers calls, because some cards do not seem to like the correct order.
2016-12-03 20:09:25 +01:00
Christoph Oelckers
834802def3
- sanitized the old sprite offset adjustment feature and used it to redefine offsets for some sprites that have really bad ones.
2016-12-03 19:49:32 +01:00
Christoph Oelckers
5dd63a86cf
- removed excess arguments for IMPLEMENT_CLASS.
2016-12-03 18:59:28 +01:00
Christoph Oelckers
34970c9b9c
- removed hexenglobal include from GL files.
2016-12-03 18:49:52 +01:00
Magnus Norddahl
9416d436fe
Move software renderer into its own namespace to isolate its globals and make
...
any access explicit. This reveals the places in the code where they are being
accessed where they shouldn't and prevents accidental usage.
2016-12-01 02:38:32 +01:00
Magnus Norddahl
284a99f204
Merge branch 'gl_swframebuffer' into qzdoom
2016-11-29 22:16:58 +01:00
Magnus Norddahl
00387a7211
Add bounds check to palette upload buffer size
2016-11-29 22:16:40 +01:00
Magnus Norddahl
ccafe27b22
Merge remote-tracking branch 'origin/ssao' into qzdoom
2016-11-28 02:33:41 +01:00
Magnus Norddahl
bea113a908
Fix tonemap texture filtering (black screen) regression
2016-11-28 02:32:57 +01:00
Magnus Norddahl
057060022a
Merge remote-tracking branch 'gzdoom/master' into ssao
2016-11-27 09:59:57 +01:00
Magnus Norddahl
17ed585c1f
Fix vsync not working
2016-11-19 12:30:58 +01:00
Rachael Alexanderson
bac3ae3bf8
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-11-17 17:37:11 -05:00
Christoph Oelckers
b3b5cb2fa4
- fixed: Lines with both sides in the same sector but an active portal may not be discarded early.
2016-11-17 23:13:17 +01:00
Christoph Oelckers
3a2d0e3486
- copied all necessary adjustments from the test branch in the QZDoom repo.
2016-11-15 11:49:27 +01:00
nashmuhandes
970c750daa
Added OpenGL support to the underwater view blend scalar option.
2016-11-11 18:08:47 +08:00
Rachael Alexanderson
9413ea6edf
- Textured automap would crash due to an additional parameter in the software renderer to the FillSimplePoly function call, causing stack issues.
2016-11-08 15:35:51 -05:00
Rachael Alexanderson
d36993a03b
- Textured automap would crash due to an additional parameter in the software renderer to the FillSimplePoly function call, causing stack issues.
2016-11-08 15:05:23 -05:00
Rachael Alexanderson
9f9e4ea19d
- Added randi's "bottomclip" parameter to dpJudas's OpenGLSWFrameBuffer::FillSimplePoly implementation. The code refused to compile because of the new changes. Note that this is not tested on Linux or Mac, and will likely need changes there as well.
2016-11-06 08:58:06 -05:00
Rachael Alexanderson
b460ce31e8
Merge http://github.com/coelckers/gzdoom
2016-10-24 21:02:09 -04:00
Rachael Alexanderson
64ae207fb9
Merge http://github.com/coelckers/gzdoom
2016-10-24 01:07:10 -04:00
Christoph Oelckers
bea625a42c
- added an ATTENUATE flag to dynamic lights, this is set by default for attached lights. For placed lights this is off, because it'd interfere with many existing maps that depend on unattenuated lights.
2016-10-23 20:42:48 +02:00
Christoph Oelckers
fbe2b76705
- fixed checks in sprite sorting logic. There were some missing parentheses.
2016-10-23 19:08:43 +02:00
Magnus Norddahl
d804f94a5e
Merge remote-tracking branch 'origin/ssao' into qzdoom
2016-10-22 21:36:29 +02:00
Magnus Norddahl
6c1c0d2972
Improve scene selection for SSAO so that the mainview drawmode always takes precedence
2016-10-22 21:35:49 +02:00
Magnus Norddahl
1f8b2ebd9f
Merge remote-tracking branch 'origin/ssao' into qzdoom
2016-10-22 21:26:30 +02:00
Magnus Norddahl
a3e19bf337
Fixed gl_ssao_portals not having effect
2016-10-22 21:25:29 +02:00
Magnus Norddahl
2ba7915d1a
Merge remote-tracking branch 'origin/ssao' into qzdoom
2016-10-22 00:14:35 +02:00
Magnus Norddahl
e891911a99
Fix broken SSAO portal rendering and let FRenderState do the glDrawBuffers calls
2016-10-22 00:09:06 +02:00
Magnus Norddahl
be2c50f11c
Merge remote-tracking branch 'gzdoom/master' into ssao
2016-10-21 23:48:30 +02:00
raa-eruanna
c62ee28726
Merge http://github.com/coelckers/gzdoom
2016-10-20 04:54:44 -04:00
Christoph Oelckers
96437d95fa
- use the new ZDoom code for retrieving a sky's cap color to avoid redundancies.
2016-10-20 10:36:23 +02:00
Magnus Norddahl
df3f5ae882
Use OpenGL to allocate the canvas buffer to avoid a costly memcpy
2016-10-18 01:16:36 +02:00
Magnus Norddahl
8b297221fe
Merge branch 'gl_swframebuffer' into qzdoom
2016-10-16 23:18:16 +02:00
Magnus Norddahl
f81d0d3964
macOS support and Intel driver bug fixes
2016-10-16 22:40:08 +02:00
raa-eruanna
135c861247
Merge http://github.com/coelckers/gzdoom
2016-10-16 04:02:34 -04:00
Christoph Oelckers
6a6263a614
Merge branch 'master' of https://github.com/coelckers/gzdoom
2016-10-16 09:13:19 +02:00
Christoph Oelckers
59576e6d23
- use the newly added OF_Transient flag to avoid writing out the owned dynamic lights to savegames instead of destroying and recreating them each time.
2016-10-16 09:12:43 +02:00
raa-eruanna
b54b4f2786
Merge http://github.com/coelckers/gzdoom
2016-10-14 11:50:06 -04:00
alexey.lysiuk
c3ced5842a
Added multithreaded upscaling with xBRZ (macOS only)
2016-10-14 17:14:49 +03:00
alexey.lysiuk
58d44e89c9
Use single helper for xBRZ scalers
2016-10-14 17:03:26 +03:00
Magnus Norddahl
2a0ab96341
Merge remote-tracking branch 'origin/ssao' into qzdoom
2016-10-13 18:12:56 +02:00
Magnus Norddahl
660a45a0e0
Add normals to decals
2016-10-13 18:04:00 +02:00
raa-eruanna
15c08f73d5
Merge http://github.com/coelckers/gzdoom
2016-10-12 03:15:03 -04:00
Magnus Norddahl
3146f75ae0
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-12 08:05:39 +02:00
Magnus Norddahl
c5ebfd9e65
Add vid_max_width and vid_max_height
2016-10-12 08:05:31 +02:00
Magnus Norddahl
052f7900c2
Fix swapped x and y in DrawLetterbox
2016-10-12 08:04:42 +02:00
Magnus Norddahl
403b3e2319
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2016-10-12 07:39:20 +02:00
Magnus Norddahl
77a566a57e
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-12 07:38:56 +02:00
Magnus Norddahl
698b05ee69
Fix pixel center and letter box issues
2016-10-12 07:34:07 +02:00
Major Cooke
41bf9def80
GZDoom compatibility for PSPF_FLIP.
2016-10-11 20:18:06 -05:00
raa-eruanna
b724de6ee3
Merge http://github.com/coelckers/gzdoom
2016-10-11 10:38:02 -04:00
Magnus Norddahl
f37ee3a024
Add bgra support to OpenGLSWFrameBuffer
2016-10-11 15:43:12 +02:00
Magnus Norddahl
f5c069c759
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-11 14:54:18 +02:00
Magnus Norddahl
3c7d6234cb
Add wipes
2016-10-11 14:37:57 +02:00
alexey.lysiuk
7510ad1635
Fixed missing fake floors in deferred buffer mode
...
wow.wad is now genuine and authentic...
2016-10-11 14:56:22 +03:00
Magnus Norddahl
7911302ad8
Hook in gamma shader
2016-10-11 13:09:32 +02:00
Magnus Norddahl
01dc9de8d1
Misc bug fixes and performance improvements
2016-10-11 10:27:18 +02:00
Christoph Oelckers
dde25820e2
- fixed winding of voxel polygons.
2016-10-11 09:08:31 +02:00
Magnus Norddahl
682b040b97
OpenGL based software renderer hardware accel now works for most things
2016-10-11 00:03:46 +02:00
Magnus Norddahl
f4308b3184
Add glsl shader version of the d3d9 shaders and get enough of it working for it to boot without errors
2016-10-10 21:03:55 +02:00
raa-eruanna
2a7b902a0a
Merge http://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
2016-10-10 10:39:07 -04:00
Magnus Norddahl
40df46f94e
Implement OpenGL versions of GPU objects
2016-10-10 07:39:02 +02:00
Christopher Bruns
779e6acb7b
Create "final" two non-VR 3D modes: Column-interleaved and checkerboard.
2016-10-09 13:05:50 -04:00
Magnus Norddahl
5f0088ab8b
Created new OpenGL framebuffer using the software renderer's hardware acceleration
2016-10-09 12:50:57 +02:00
Magnus Norddahl
94d8e10f96
Merge branch 'ssao' into qzdoom
2016-10-09 06:27:42 +02:00
Magnus Norddahl
1b7c42f45f
Multisampling ssao bug fixes and split linear depth to its own buffer
2016-10-09 06:17:48 +02:00
Magnus Norddahl
bb79dcb634
SSAO math bug fixes
2016-10-06 07:36:49 +02:00
Magnus Norddahl
00e72028ef
Add another gbuffer with normal data and make ssao pass use it
2016-10-05 07:57:27 +02:00
raa-eruanna
3f020e686f
Merge http://github.com/coelckers/gzdoom
2016-10-04 23:26:50 -04:00
Magnus Norddahl
490dd612b3
Keep using render buffers when ssao is off, for better performance
2016-10-05 03:56:58 +02:00
Major Cooke
0e9f808c8a
Fixed: FLATSPRITES were drawn backwards.
2016-10-04 10:05:57 -05:00
Magnus Norddahl
e9d13e5d74
Remove gl_light_math (reverts last remains of old lightmath branch)
2016-10-04 00:25:35 +02:00
Magnus Norddahl
51f867bc6c
Merge branch 'ssao' into qzdoom
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
# wadsrc/static/shaders/glsl/main.fp
2016-10-04 00:16:05 +02:00
Magnus Norddahl
ecb57d6cd9
Merge remote-tracking branch 'gzdoom/master' into ssao
...
# Conflicts:
# src/gl/renderer/gl_renderer.cpp
# src/gl/scene/gl_scene.cpp
# src/gl/shaders/gl_shader.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
2016-10-04 00:01:03 +02:00
Magnus Norddahl
bcb64a3445
Merge branch 'ssao' into qzdoom
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
# src/gl/renderer/gl_renderer.cpp
# src/gl/scene/gl_scene.cpp
# src/gl/shaders/gl_ambientshader.cpp
# src/gl/shaders/gl_ambientshader.h
# src/gl/system/gl_cvars.h
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
2016-10-03 23:47:09 +02:00
Magnus Norddahl
dcb6c1ac3a
Move ApplyFXAA to PostProcessScene
2016-10-03 23:30:00 +02:00
alexey.lysiuk
5d99e7dafe
Fixed compilation on platforms other than Windows
2016-10-03 22:13:33 +03:00
Christoph Oelckers
7ab7fc9a57
- seems I missed this part...
2016-10-03 16:21:50 +02:00
Christoph Oelckers
4eb5f10b02
- use normals to have proper light attenuation. So far only implemented for walls and flats. Models are planned but need some thinking about how to efficiently collect all required lights for an object.
2016-10-03 16:09:32 +02:00
Magnus Norddahl
7c47806382
Fix aspect ratio bug in LensDistortScene
2016-10-03 09:18:47 +02:00
raa-eruanna
c6408e92e2
Merge http://github.com/coelckers/gzdoom
...
# Conflicts:
# src/gl/renderer/gl_postprocess.cpp
# src/gl/renderer/gl_renderer.cpp
# src/gl/scene/gl_scene.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.zz
2016-10-02 23:10:07 -04:00
alexey.lysiuk
c68aa2b241
Added FXAA post-processing
...
Implementation of Fast Approximate Anti-Aliasing is based on nVidia sample:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/samples/es3-kepler/FXAA
2016-10-03 00:15:45 +02:00
Christopher Bruns
5391216756
Delete unused new BlitFromEyeTexture() method I ended up not using.
2016-10-02 16:27:43 -04:00
Christopher Bruns
63b28a1d80
Retain stereoscopic parity after dragging window in row interleaved 3D mode.
2016-10-02 16:11:06 -04:00
Christopher Bruns
0240cdef18
Modulate row interleaved stereo 3d offset with window height parity, because gl_FragCoord.y approaches zero at the bottom, not the top of the window.
2016-10-02 16:10:58 -04:00
Christopher Bruns
576619504e
Remove unused WindowHeight uniform.
2016-10-02 16:10:50 -04:00
Christopher Bruns
fcbf9342d6
Compute row location using gl_FragCoord.
2016-10-02 16:10:39 -04:00
Christopher Bruns
460b653709
Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode.
2016-10-02 16:10:21 -04:00
Christopher Bruns
79046580d5
Partial implementation of row interlaced mode.
2016-10-02 16:09:22 -04:00
Christopher Bruns
960d4d6755
Create TopBottom3D mode and begin sketching RowInterleaved3D mode.
2016-10-02 16:09:02 -04:00
raa-eruanna
a89ec61dc1
Merge http://github.com/coelckers/gzdoom
2016-10-01 19:06:40 -04:00
Christoph Oelckers
cfa6b817b5
- made bloom and tonemap settings game specific and save all related CVARs.
...
As was pointed out: "That said, there is one minor problem - different game artstyles can constitute whether Bloom is turned on, which tonemap is used, etc. For example, when playing Doom, I like having my bloom on, but if I am going to start playing the Adventures of Square, the art style and bloom don't mix, in my opinion. For this, I have to remember to switch my bloom settings every time I switch IWad"
2016-10-01 21:34:13 +02:00
raa-eruanna
dd9881b5fa
Merge http://github.com/coelckers/gzdoom
2016-09-28 06:40:56 -04:00
Christoph Oelckers
b75395aa74
- fixed: Screen size update coordinates were copied into the wrong buffer location.
2016-09-28 09:25:48 +02:00
raa-eruanna
c8d0a478d8
Merge http://github.com/coelckers/gzdoom
2016-09-25 19:43:52 -04:00
Christoph Oelckers
750c194959
- changed order of SwapBuffers and glFinish call. The new order with glFinish coming last is recommended by OpenGL and it fixes a stalling problem with portals and camera textures visible at the same time.
...
- check and use WGL_EXT_swap_control_tear extension. The above change makes the system always wait for a full vsync with a wglSwapInterval of 1, so it now uses the official extension that enables adaptive vsync. Hopefully this also works on the cards where the old setup did not.
2016-09-26 01:38:25 +02:00
raa-eruanna
ed07ff1bdd
Merge http://github.com/dpjudas/dpdoom
2016-09-25 02:19:39 -04:00
raa-eruanna
9ecb7d44f7
Merge http://github.com/coelckers/gzdoom
2016-09-24 23:36:47 -04:00
Magnus Norddahl
287acea6b4
Update copyright
2016-09-25 00:31:57 +02:00
Magnus Norddahl
6cb9f875dd
Fix missing call from merge
2016-09-25 00:31:43 +02:00
Magnus Norddahl
979e70ca8f
Add gl_ssao_portals for controlling how many portals gets SSAO
2016-09-25 00:22:38 +02:00
Magnus Norddahl
3f11c0562c
Add ssao quality setting
2016-09-25 00:22:38 +02:00
Magnus Norddahl
0397fe185f
Don't do ambient occlusion when rendering to texture
2016-09-25 00:22:32 +02:00
Magnus Norddahl
d774136282
Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it
2016-09-25 00:22:32 +02:00
Magnus Norddahl
9af34bac69
Add gbuffer pass support to FShaderManager and FRenderState
2016-09-25 00:22:32 +02:00
Magnus Norddahl
37e3172c94
Fix random texture sampling bug
2016-09-25 00:22:31 +02:00
Magnus Norddahl
0a8cc1b74c
Fix depth blur
2016-09-25 00:22:31 +02:00
Magnus Norddahl
24ab13f1ce
Fix stripes in the reconstructed normals due to down scaling
2016-09-25 00:22:31 +02:00
Magnus Norddahl
11725c435e
Grab tanHalfFovy from the projection matrix
2016-09-25 00:22:31 +02:00
Magnus Norddahl
e025f6e54b
Mark portals in scene alpha channel for the SSAO pass
2016-09-25 00:22:31 +02:00
Magnus Norddahl
c7c0ffadb5
Move SSAO pass to be before translucent rendering
...
Fix depth sampling location when not using fullscreen scene
2016-09-25 00:19:16 +02:00
Magnus Norddahl
09bec67821
Resolve multisampling depth in shader
2016-09-25 00:19:16 +02:00
Magnus Norddahl
a246b58673
Change SSAO blur to be depth aware
2016-09-25 00:19:16 +02:00
Magnus Norddahl
a6fdaca633
Fix precision issue in SSAO shader
2016-09-25 00:19:16 +02:00
Magnus Norddahl
723eb746f6
Add ssao random texture
2016-09-25 00:19:15 +02:00
Magnus Norddahl
9076d46261
Added SSAO pass
2016-09-25 00:19:15 +02:00
Christoph Oelckers
8907a8bfe8
- fixed incorrect function name in sprites drawer.
...
- fixed duplicate property key in ADynamicLight serializer. Radius was already claimed by AActor so this needs a different name.
2016-09-24 12:09:53 +02:00
Magnus Norddahl
5ef46d1730
Merge remote-tracking branch 'gzdoom/master' into qzdoom
2016-09-24 09:37:18 +02:00
Major Cooke
561edd31ec
Added check for angle visibility for GZDoom.
2016-09-24 09:29:00 +02:00
Magnus Norddahl
8172949800
Merge branch 'lightmath' into dpdoom
2016-09-24 08:40:47 +02:00
Magnus Norddahl
4350587714
Remove accidental UpdateCameraExposure duplicate from merge
2016-09-24 08:40:28 +02:00
Magnus Norddahl
c21090333f
Merge remote-tracking branch 'qzdoom/master' into dpdoom
2016-09-24 08:17:49 +02:00
Magnus Norddahl
d126e91ded
Merge remote-tracking branch 'gzdoom/master' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_renderbuffers.cpp
# src/gl/renderer/gl_renderbuffers.h
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_scene.cpp
2016-09-24 08:12:12 +02:00
Christoph Oelckers
ee2766d00b
- made adjustments for new savegame code.
2016-09-24 01:47:44 +02:00
raa-eruanna
2a9e97688d
Merge http://github.com/coelckers/gzdoom
2016-09-22 05:23:02 -04:00
Christoph Oelckers
18ee6353fa
- let's be safe and set the proper texture mode for the fullscreen blend rect. I've got spurious reports that on some occasions it was rendered opaque.
2016-09-22 10:54:16 +02:00
Christoph Oelckers
1bddc277e6
- fixed winding of voxel polygons.
2016-09-22 10:28:14 +02:00
Christoph Oelckers
960ed5130c
- fixed: DTA_ColorOverlay was not properly handled by F2DDrawer.
2016-09-22 10:20:36 +02:00
Christoph Oelckers
52d4c3970e
- use glPOlygonOffset on non-translucent flat and wall sprites to avoid z-fighting.
2016-09-22 10:00:40 +02:00
Christopher Bruns
2e8d2ed626
Implement vr_swap_eyes CVAR, now that side-by-side mode is mostly working.
2016-09-22 09:25:49 +02:00
Christopher Bruns
a1cbd39f3f
Move call to Stereo3DMode.AdjustPlayerSprites into FGLRenderer.DrawPlayerSprites()
...
(cherry picked from commit 5b5598d7d85c6bb8930e874d5d94cca835061bf0)
2016-09-22 09:25:48 +02:00
Christopher Bruns
a5c27af59b
Show weapon at full width in SideBySideFull 3D mode.
...
(cherry picked from commit c42e98c0042937adc05c1f1569d909d58a5b8ffb)
2016-09-22 09:25:48 +02:00
Christopher Bruns
7b8847c6be
Update comment for other file.
2016-09-22 09:25:47 +02:00
Christopher Bruns
d10a0309ab
Update header comment in gl_sidebyside3d source files
2016-09-22 09:25:47 +02:00
Christopher Bruns
1f79e23d5b
Implement wide side-by-side mode, using adjusted aspect ratio in projection matrix.
...
Use optimal framebuffer size for side-by-side modes.
2016-09-22 09:25:46 +02:00
Christopher Bruns
9a257ac158
Implement side-by-side narrow 3D mode.
2016-09-22 09:25:46 +02:00
raa-eruanna
72491049e0
Changes to the contrast/brightness/gamma formula for both hardware and shader gamma correction. Mainly makes a correction with the shader version where contrast/brightness being negative values would clip them inappropriately.
2016-09-22 09:23:25 +02:00
Magnus Norddahl
af699dcebc
Make bloom/exposure less aggressive
2016-09-22 09:13:33 +02:00
Magnus Norddahl
f7b6b1433c
Added exposure pass calculating the bloom/tonemap exposure based on what the eye is seeing
2016-09-22 09:13:32 +02:00
Christoph Oelckers
146b5d2d06
- use 'override' qualifier on renderer interface.
...
Bad things can happen if these get changed in ZDoom without adapting to the change so better let the compiler handle this automatically.
2016-09-22 09:06:21 +02:00
Magnus Norddahl
7c862b85b3
Don't do ambient occlusion when rendering to texture
2016-09-22 03:49:19 +02:00
Magnus Norddahl
b6c64416be
Added SceneData texture as the second colorbuffer when rendering a scene and placed fog data into it
2016-09-21 02:04:56 +02:00
Magnus Norddahl
24f748da03
Add gbuffer pass support to FShaderManager and FRenderState
2016-09-20 02:57:57 +02:00
raa-eruanna
20e620bbe7
Merge http://github.com/coelckers/gzdoom
...
# Conflicts:
# src/version.h
2016-09-19 03:05:38 -04:00
Magnus Norddahl
b1871b272b
Merge branch 'exposure_pass' into lightmath
2016-09-18 19:31:36 +02:00
Magnus Norddahl
210dd6d26a
Make bloom/exposure less aggressive
2016-09-18 19:31:09 +02:00
Christoph Oelckers
ceaa040750
- added a workaround to avoid sprite splitting when it may cause glitches for sprites that get rotated in the draw pass.
2016-09-18 17:45:02 +02:00
Magnus Norddahl
38be2333d0
Merge branch 'exposure_pass' into lightmath
...
# Conflicts:
# src/gl/renderer/gl_renderbuffers.cpp
# src/gl/renderer/gl_renderbuffers.h
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_scene.cpp
2016-09-18 16:22:44 +02:00
Magnus Norddahl
8dd12c8216
Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
2016-09-18 16:01:21 +02:00