Christoph Oelckers
01b095c911
- added colorization for untranslated fonts. This uses the light color of the vertices. The software rendered 2D code will ignore this infomation.
...
- added a virtual OnRetrun method to menus.
2017-03-29 21:22:05 +02:00
Magnus Norddahl
d160424aea
- added DFrameBuffer::HasBegun2D to allow scripting to test if 2D drawing is active (instead of using IsLocked, which may return false when vid_hw2d is active)
2017-03-29 00:45:53 +02:00
Christoph Oelckers
f3db5f3803
- added a clipping rectangle to DCanvas that can be used independently of DrawTexture calls.
...
Currently this is only being used for draw operations that are not automap related, i.e. DrawLine, DrawPixel and FillSimplePoly are not subjected to it.
2017-03-28 13:06:24 +02:00
Christoph Oelckers
9bffe4ee50
- scriptified the main statusbar interface and the Strife status bar.
...
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.
Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Christoph Oelckers
c9296ead57
- moved the skybox texture files to the main textures directory.
2017-03-17 21:12:09 +01:00
Christoph Oelckers
921bc763fb
- separated the software-renderer-specific parts of colormap processing from the common parts.
...
- moved testcolor and test fades into SWRenderer files.
These CCMDs work by hacking the default colormap and were never implemented for hardware rendering because they require many checks throughout the code.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
9a24771a7d
- refactored FDynamicColormap out of sector_t.
...
This has increasingly become an obstacle with the hardware renderer, so now the values are being stored as plain data in the sector, with the software renderer getting the actual color tables when needed. While this is a bit slower than storing the pregenerated colormap, in realistic situations the added time is mostly negligible in the microseconds range.
2017-03-15 22:04:59 +01:00
Christoph Oelckers
d86bd470e5
- moved two MAPINFO settings that are not exclusively used by the OpenGL renderer to the common code.
2017-03-14 18:31:11 +01:00
Christoph Oelckers
8e2ebe15fe
- removed several unused variables from OpenGLFrameBuffer.
...
- removed the LastCamera logic in RenderView. This code predates the first GZDoom release and apparently was only added because back then R_SetupFrame was not fully compatible with the hardware renderer. Today it is not needed anymore.
2017-03-11 21:10:21 +01:00
Christoph Oelckers
9e70771da3
- Added a check to allow shader storage buffers on GL 4.3 Intel drivers. It doesn't work if GLSL version is set to 4.0 and the feature activated via extension.
2017-03-11 20:14:18 +01:00
Christoph Oelckers
9eae422dab
Merge branch 'shadowmaps' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/CMakeLists.txt
# wadsrc/static/language.enu
2017-03-11 19:55:43 +01:00
Christoph Oelckers
fec958cc0a
- finally managed to get rid of the DWORD type.
...
This one was particularly nasty because Windows also defines a DWORD, but in Windows it is an unsigned long, not an unsigned int so changing types caused type conflicts and not all could be removed.
Those referring to the Windows type have to be kept, fortunately they are mostly in the Win32 directory, with a handful of exceptions elsewhere.
2017-03-10 19:46:22 +01:00
Magnus Norddahl
b660493051
Add menu option for disabling shadow maps and detecting if storage buffers are available or not
2017-03-10 19:10:40 +01:00
Magnus Norddahl
1e7ea1c7ff
Fix crash HOM effect when vid_hw2d is off
2017-03-10 12:25:05 -05:00
Christoph Oelckers
bd7476fb8d
- untangled r_defs.h from actor.h
...
Both files can now be included independently without causing problems.
This also required moving some inline functions into separate files and splitting off the GC definitions from dobject.h to ensure that r_defs does not need to pull in any part of the object hierarchy.
2017-03-10 02:22:42 +01:00
Christoph Oelckers
a4710bcdb0
- did a bit of header cleanup to reduce the dependency on dobject.h.
2017-03-09 23:30:42 +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
Christoph Oelckers
c008ddaf66
- replaced homegrown SWORD, SBYTE and uint32_t types.
2017-03-09 19:31:45 +01:00
Christoph Oelckers
cc1241a4b8
Merge branch 'make-qzdoom-gzdoom-again' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/win32/win32gliface.h
# src/win32/win32iface.h
This compiles but no guarantees otherwise.
2017-03-09 19:09:13 +01:00
Christoph Oelckers
e080f0cf89
- removed Windows.h include from gl_system.h and cleaned up that file. This means that most OpenGL sources can now be compiled without any Windows dependencies, which is significantly faster.
2017-03-09 13:19:51 +01:00
Christoph Oelckers
05919a2926
- remove Windows includes from gl_load.h
...
This is one of two places that unconditionally pulled in all Windows headers into the GL code.
We also do not need the cruft for defining the standard integer types. GZDoom is C++11 which means that stdint.h will be present. So the madness with the definitions should be avoided to ensure that the types are always the same.
2017-03-09 13:03:49 +01:00
Christoph Oelckers
03e1cbcfc0
- removed Windows types from several files which don't need them.
...
- split out the software renderer's video classes into their own file because they got included by all OpenGL sources.
2017-03-09 12:52:31 +01:00
Rachael Alexanderson
cc9a2e5121
Merge https://github.com/coelckers/gzdoom
2017-03-08 21:25:24 -05:00
Christoph Oelckers
ba0f5a3f94
- most WORD and SWORD are gone.
2017-03-08 18:55:55 +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
Rachael Alexanderson
7ef8ed5867
Merge https://github.com/coelckers/gzdoom
2017-03-05 18:40:44 -05:00
alexey.lysiuk
f9e543bed3
Fixed black target screen during wipe (legacy renderer only)
...
Credits: NiTROACTiVE and Erick194
https://www.doomworld.com/vb/source-ports/93179-two-issues-im-having-with-gzdoom-v2-3-2/
2017-03-05 20:51:48 +02:00
Rachael Alexanderson
21a8964bea
Merge remote-tracking branch 'gzdoom/master'
...
# Conflicts:
# src/v_video.cpp
2017-03-03 16:29:33 -05:00
Christoph Oelckers
c630b07011
- replaced SDWORD with int32_t globally.
...
This type wasn't used in the software rendering code so it could be removed already. The other homegrown types will have to be dealt with later.
2017-03-03 19:35:08 +01:00
Magnus Norddahl
6055f136d8
Make sure SwapInterval is only ever called while the default frame buffer is bound to avoid problems with some drivers
2017-03-03 16:55:18 +01:00
Magnus Norddahl
892350ac2e
Add functions to CameraLight
2017-02-03 09:00:46 +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
0c101102dc
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_main.cpp
# src/r_segs.cpp
# src/r_things.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-01-28 17:39:55 -05:00
Christoph Oelckers
ee22a9371b
- use Doom64 colors on sectors and linedefs.
2017-01-28 20:44:46 +01:00
Magnus Norddahl
ed05a2edd3
Create CameraLight class
2017-01-26 10:22:54 +01:00
Magnus Norddahl
9c4b11b671
Add OpenGL ES support to Linux target and enable it for ARM devices
2017-01-25 07:18:26 +01:00
Magnus Norddahl
55d9392fb8
Add fallback code to Linux target so if OpenGL is either unavailable or can't be used it falls back to the old software SDL FB
2017-01-24 01:43:45 +01:00
Rachael Alexanderson
03226e5a0a
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
2017-01-23 00:17:25 -05:00
alexey.lysiuk
03f9425eb1
Fixed missing xBRZ menu options on platforms without MMX support
...
xBRZ texture resize modes are no longer removed from menu for targets with HAVE_MMX undefined
2017-01-22 12:11:17 +02:00
Rachael Alexanderson
53acc28f26
Merge https://github.com/coelckers/gzdoom
2017-01-21 17:47:18 -05:00
Edoardo Prezioso
da3da61b67
- Make OpenGL library link fully dynamic on Unix.
...
Also, remove all the OpenGL CMake checks, because they're not needed anymore.
2017-01-20 23:21:37 -05: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
alexey.lysiuk
7e0c870d0f
Added missing OpenGL extension for PowerPC Macs
2017-01-13 10:51:56 +02: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
de5f5a1221
Merge https://github.com/coelckers/gzdoom
2017-01-06 22:06:25 -05: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
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
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
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
a825d1d92f
Merge branch 'ssao' of https://github.com/dpjudas/dpDoom
2016-12-22 12:40:57 +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
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
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
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
Christoph Oelckers
3a2d0e3486
- copied all necessary adjustments from the test branch in the QZDoom repo.
2016-11-15 11:49:27 +01: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
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
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
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
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
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
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
Magnus Norddahl
40df46f94e
Implement OpenGL versions of GPU objects
2016-10-10 07:39:02 +02: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
00e72028ef
Add another gbuffer with normal data and make ssao pass use it
2016-10-05 07:57:27 +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
Christoph Oelckers
b75395aa74
- fixed: Screen size update coordinates were copied into the wrong buffer location.
2016-09-28 09:25:48 +02: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
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
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
Christoph Oelckers
ee2766d00b
- made adjustments for new savegame code.
2016-09-24 01:47:44 +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
3c1868f7e6
Fix wrong flash rectangle size after window resize
2016-09-16 02:53:19 +02:00
Christoph Oelckers
8b6e09ca09
- changed the license of the OpenGL renderer to LGPL v3.
...
This was done to clean up the license and to ensure that any commercial fork of the engine has to obey the far stricter requirements concerning source distribution. The old license was compatible with GPLv2 whereas combining GPLv2 and LGPLv3 force a license upgrade to GPLv3. The license of code that originates from ZDoomGL has not been changed.
2016-09-14 20:01:13 +02:00
alexey.lysiuk
dcabcaa5b6
Fixed compilation on non-Windows platforms
2016-09-13 22:10:07 +03:00