Christoph Oelckers
fe2bfc6f11
- moved the API-independent parts of the decal code to hwrenderer/.
2018-04-27 20:34:20 +02:00
Christoph Oelckers
fc0d673935
- moved the files
2018-04-27 00:28:30 +02:00
Christoph Oelckers
dd524b046e
- GLWall is mostly clean, except some smaller things in gl_sky.cpp
2018-04-27 00:22:00 +02:00
Christoph Oelckers
306b630de2
- merged the remains of gl_texture.cpp into hw_cvars.cpp.
...
- eliminated hqresize.cpp's dependency on GL headers.
- cleaned up the logic for CreateTexBuffer so that hqresize.cpp does not need to check for software warped textures anymore.
2018-04-25 21:02:50 +02:00
Christoph Oelckers
ceeb479261
- moved the CVAR definitions from gl/ to hwrenderer/.
...
- disabled gl_texture_format because in its existing form it is mostly a useless feature.
2018-04-25 20:33:55 +02:00
Christoph Oelckers
cf8ee3130b
- gl_clock moved to hwrenderer.
2018-04-25 18:39:54 +02:00
Christoph Oelckers
bc8f47444f
- texture precaching also moved to hwrenderer/.
2018-04-25 00:07:46 +02:00
Christoph Oelckers
1a024a9f54
- moved gl_material into hwrenderer/.
2018-04-24 23:39:58 +02:00
Christoph Oelckers
0dcc6ec6d3
Merge branch 'master' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/CMakeLists.txt
# src/gl/renderer/gl_renderer.h
# src/gl/scene/gl_portal.cpp
# src/gl/scene/gl_scene.cpp
2018-04-24 17:39:03 +02:00
Christoph Oelckers
e55b52f356
Moving the files to hwrenderer/
2018-04-24 11:58:04 +02:00
Christoph Oelckers
5ca1fca8d1
- moved gl_clipper and gl_fakeflat to the hwrenderer folder because both files do not contain anything API specific.
2018-04-23 22:18:13 +02:00
alexey.lysiuk
c264ff05da
All platform-specific headers are referenced by generated projects
...
This was already the case on Windows anyway
2018-04-23 22:15:11 +03:00
alexey.lysiuk
6ac0c2f569
Excluded unused .cpp file from compilation
2018-04-23 18:42:59 +03:00
alexey.lysiuk
75129f54b4
Deleted remnants of old software backend
2018-04-19 12:44:20 +03:00
alexey.lysiuk
4ab6034a36
Cleaned up Windows backend from remains of Direct3D
...
Removed obsolete CMake settings, useless #include's, dead code
2018-04-18 17:05:25 +03:00
alexey.lysiuk
c241f34f15
Updated headers' paths for main project
...
Now all headers should be added to a project generated by CMake
2018-04-18 17:01:35 +03:00
Christoph Oelckers
c1ce6c90ca
Moved gl_dynlight to hwrenderer because it does not depend on any direct renderer info.
2018-04-16 09:02:48 +02:00
Magnus Norddahl
c3bd93a85c
Merge remote-tracking branch 'gzdoom/master' into swmodels
2018-04-14 21:20:05 +02:00
Christoph Oelckers
0affc119fd
- moved hardware independent part of flat vertex data out of GL folder.
2018-04-14 12:05:31 +02:00
Magnus Norddahl
7e544c66fe
Merge remote-tracking branch 'gzdoom/master' into swmodels
2018-04-13 21:35:21 +02:00
Christoph Oelckers
71a6cc4625
Merge branch '2D_Refactor'
2018-04-13 17:52:58 +02:00
Rachael Alexanderson
a23259f26a
- remove TLS workaround and turn it into an actual error since it is required in order to even properly compile and not all systems properly detect this.
2018-04-13 09:10:33 -04:00
alexey.lysiuk
5a4307160e
Fixed compilation of SDL backend
2018-04-08 13:55:46 +03:00
Christoph Oelckers
b12a6fded9
- added the code for legacy shaders.
...
- force texture filtering for 2D to off when in software rendering.
2018-04-08 12:11:51 +02:00
Magnus Norddahl
2d51fa5b43
- Clean up PolyTriangleDrawer API so that it can better support both softpoly and the swrenderer
...
- Slightly improve how softpoly processes portals
- Pass the vertex transform matrix via a command rather than being part of the drawer args
- Improve zbuffer drawers in the software renderer
- Misc model rendering fixes
2018-04-07 15:48:48 +02:00
Christoph Oelckers
b34d7f9e08
- added a software scene drawer to the GL renderer.
...
It still looks like shit and only works on the modern render path but at least the basics are working.
2018-04-07 10:20:59 +02:00
Christoph Oelckers
60aebff4a1
- starting separation of hardware dependent and hardware independent code, starting with aabbtree, because it was easy.
2018-04-02 15:58:28 +02:00
Christoph Oelckers
52c5328412
- made the glow getter functions members of sector_t.
2018-04-02 13:36:28 +02:00
Christoph Oelckers
1fc4c9801b
- moved all GLDEFS parsing into a dedicated source file.
...
- split gl_postprocessshader.h in two so that the hardware independent part can be used by GLDEFS without pulling in all of OpenGL.
2018-04-02 12:28:20 +02:00
Christoph Oelckers
7083103a0e
- moved dynlightdata to r_data
2018-04-02 09:51:51 +02:00
Christoph Oelckers
8080e039e0
- moved most of gl_setup.cpp to r_data as this is only some data setup in the main map data structures.
...
- made currentmapsections array something nicer to look at and made it a member of the scene drawer class.
2018-04-02 09:27:40 +02:00
Christoph Oelckers
524df21d81
- moved portal grouping code out of GL and into r_data.
2018-04-02 00:39:04 +02:00
Christoph Oelckers
65e7b6dfaa
- moved the code in gl_data.cpp to better fitting places
...
* the MAPINFO options now get handled in g_mapinfo.cpp and g_level.cpp, just like the rest of them as members of level_info_t and FLevelLocals.
* RecalcVertexHeights has been made a member of vertex_t and been moved to p_sectors.cpp.
* the dumpgeometry CCMD has been moved to p_setup.cpp
2018-04-01 18:45:27 +02:00
Christoph Oelckers
c60c025554
- moved gl_load headers out of the gl folder.
...
This is mainly to get them out of the way. The place is not optimal but will have to do as long as this remains a separate branch.
2018-04-01 16:30:34 +02:00
Christoph Oelckers
e49cd2cb83
- moved the hires replacement and upscaling code out of the GL classes into FTexture.
...
This theoretically means that the software renderer could access this data as well - if it just had been written with a more flexible texture interface.
However, as things stand, this may require quite a bit of work to achieve.
2018-04-01 10:41:04 +02:00
Christoph Oelckers
0f12fb9d6d
- moved the texture file format handlers to a subdirectory for clarity.
2018-04-01 08:25:38 +02:00
Christoph Oelckers
a9d5533603
- integrated GL parts of translation handling into the main module.
...
Now that this doesn't have to share assets with HW2D it could be simplified a lot.
2018-04-01 00:59:49 +02:00
Christoph Oelckers
bc485a7f2c
- moved a large portion of gl_textures.cpp into the main files for the implementing classes.
...
The old organization made sense when ZDoom still was a thing but now it'd be better if all pure data with no dependence on renderer implementation details was moved out.
A separation between GL2 and GL3+4 renderers looks to be inevitable and the more data is out of the renderer when that happens, the better.
2018-03-31 19:20:59 +02:00
Christoph Oelckers
a001a5304d
- removed the old software renderer framebuffers for Windows
...
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
16480a3f4b
- it compiles again.
...
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
Christoph Oelckers
ded21cba8e
- moved more code from DCanvas to DFrameBuffer.
2018-03-27 10:34:21 +02:00
Christoph Oelckers
40bbe5cd8a
- removed DirectDraw backend.
2018-03-26 22:03:32 +02:00
Christoph Oelckers
5c7f2e0217
- removed some dumb CMake script that messed around with Visual Studio's user settings.
2018-03-25 17:51:23 +02:00
Vitaly Novichkov
5acffa693f
Merge branch 'master' of git@github.com:coelckers/gzdoom.git
...
# Conflicts:
# src/sound/adlmidi/adlmidi.cpp
2018-03-24 23:51:36 +03:00
Vitaly Novichkov
be1b884a04
OPNMIDI: Natively disable embedded MUS and XMI, and MIDI sequencer
2018-03-24 23:46:05 +03:00
Vitaly Novichkov
be81e00722
ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
...
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom
I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 21:26:30 +01:00
Vitaly Novichkov
b6302f5fc9
ADLMIDI: Added built-in ability to disable unneeded MUS and XMI converters
...
Also embedded MIDI sequencer has been disabled too as it is not needed in GZDoom
I made that to allow easier updates of ADLMIDI into newer versions without of any future troubles and conflicts
2018-03-24 22:45:54 +03:00
Christoph Oelckers
4978d979e8
- fixed Windows version of snd_mididevice.
...
- removed mus2mis and xmi2mid converters from OPNMidi, because they are not needed.
- moved the data file for OPNMidi into gzdoom.pk3.
2018-03-24 18:29:12 +01:00
Vitaly Novichkov
6308fb311b
Added support for libOPNMIDI Playing device
2018-03-24 17:58:47 +03:00
Christoph Oelckers
1c9b08dd44
Merge remote-tracking branch 'remotes/origin/master' into alphatex2
2018-03-23 19:52:48 +01:00
alexey.lysiuk
836b09c933
Added third-party sound headers to CMake generated project
2018-03-23 12:47:37 +02:00
Christoph Oelckers
702e948000
Merge remote-tracking branch 'remotes/origin/adlMIDI' into alphatex2
2018-03-22 20:44:32 +01:00
Rachael Alexanderson
0893f0c01e
Merge remote-tracking branch 'origin/master' into adlMIDI
2018-03-22 14:28:54 -04:00
Christoph Oelckers
b473838627
- adjustments and fixes for alphatextures:
...
* Instead of using the red channel it now uses the grayscale value. While slower in a few situations, it is also more precise and makes the feature more useful.
* For paletted textures do not use the index as alpha anymore but the actual grayscaled color. This is again to make the feature more consistent and useful.
* To compensate for the above there is now a list of hashes for known alpha textures in patch format, so that they don't get broken.
* IMGZ is now considered a grayscale format. There's only two known textures that use IMGZ for something else than crosshairs and those are explicitly handled.
* several smaller fixes.
* the actual color conversion functions for paletted output are now consolidated in a small number of inlines so that future changes are easier to do.
Note: This hasn't been tested yet and will need further changes in the hardware rendering code. As it is it is not production-ready.
2018-03-22 00:29:01 +01:00
Christoph Oelckers
7e169eb76f
- split out the span generation from most texture classes
...
Until now each subclass of FTexture had to implement the entire span generation itself, presumably so that a few classes can use simpler structures.
This does not work if a texture can have more than one pixel buffer as is needed for alpha textures.
Even though it means that some classes will allocate more data now, it's the only way to do it properly.
In addition this removes a significant amount of mostly redundant code from the texture classes.
- added alpha texture processing to all converted classes
As of now this is not active and not tested.
Note that as part of the conversion even those textures that were working as alphatextures will not look correct until the higher level code gets adjusted.
2018-03-18 12:36:14 +01:00
alexey.lysiuk
9a737a0622
Added ability to turn off sending of stats in CMake configuration
2018-03-16 16:04:43 +02:00
Christoph Oelckers
d2fa4d0ff9
- most stat stuff done.
2018-03-12 19:33:48 +01:00
Christoph Oelckers
b939836846
- renamed FileRdr back to FileReader.
2018-03-11 19:29:37 +01:00
Christoph Oelckers
b14ee50d0d
- transition to new FileReader interface complete, but untested.
2018-03-11 12:33:46 +01:00
alexey.lysiuk
f5d5430804
Added ability to build without thread_local support
...
https://forum.zdoom.org/viewtopic.php?t=58043
2018-03-09 12:53:41 +02:00
alexey.lysiuk
15138c38ca
Improved organization of ADLMIDI files in CMake generated projects
2018-03-08 09:49:51 +02:00
Christoph Oelckers
fd801b8b94
Merge branch 'adlMIDI'
...
# Conflicts:
# src/sound/musicformats/music_midistream.cpp
2018-03-07 20:31:32 +01:00
alexey.lysiuk
d45a50b0db
Put soundfont to appropriate folder so it can be found by default
2018-02-26 16:45:01 +02:00
Christoph Oelckers
2ac101fa51
- removed tmpfileplus, which was only used by the old Timidity++ player.
2018-02-24 23:01:55 +01:00
Christoph Oelckers
a5316c211d
- Moved the MIDI WAVE writer device to its own source file.
2018-02-24 18:25:04 +01:00
Christoph Oelckers
7a851fd3f1
libADL MIDI test. It sounds awful so obviously there's still something wrong here. Definitely not usable yet.
2018-02-23 21:56:34 +01:00
Christoph Oelckers
d25cc1baa0
- Fixed today's work now that I'm able to hear some sound again. Also some reorganization
2018-02-23 17:01:17 +01:00
Christoph Oelckers
8734511e80
Removed PathExpander and PseudoMidiDevice which are no longer being used
...
PathExpander has been integrated into the sound font manager and PseudoMidiDevice was only used as the base class for the old Timidity++ device with the external executable.
2018-02-23 09:21:42 +01:00
Christoph Oelckers
a6fa906764
Framework for context independent sounffont management
...
Not tested yet!
2018-02-22 12:51:45 +01:00
Christoph Oelckers
e6bae25423
- Timidity++ is now fully integrated into the softsynth interface.
...
The only thing left to do is tweaking the volume of the output to match the one from the EXE.
2018-02-21 17:35:44 +01:00
Christoph Oelckers
4813eeeb85
- Timidity++ now plays ZDoom's event stream, although still through the Windows output module.
...
This also means that readmidi.cpp is no longer needed.
2018-02-21 01:29:39 +01:00
Christoph Oelckers
5ce3b00b90
- commented out the noisy debug messages in Timidity++ so that they do not waste execution time and memory for nothing - there are almost 300 of them.
2018-02-20 19:45:37 +01:00
Christoph Oelckers
803369fb8d
- make CMake happy
2018-02-19 23:33:42 +01:00
Christoph Oelckers
576932c47f
- Timidity++ sources added. This compiles but isn't hooked into the engine yet.
...
This source has been heavily edited to remove the deep integration with the provided UI modules and to eliminate use of global variables and puts everything into a small number of C++ classes.
2018-02-19 22:14:22 +01:00
Rachael Alexanderson
5dd98669e4
- FreeBSD compile fix
2018-02-10 07:56:33 -05:00
Alexander Wilms
55c6a14059
Added simple fatal error window for Linux
...
There are three variants: KDE dialog, GTK+ window, SDL message box
https://forum.zdoom.org/viewtopic.php?t=57880
2018-01-28 17:03:10 +02:00
Christoph Oelckers
7e45535669
Merge branch 'master' into reverbedit
2017-12-03 12:46:08 +01:00
Christoph Oelckers
4ca3acb0e3
- made tmpfileplus a .cpp file so that it can access ZDoom's own utility code.
2017-12-02 16:51:53 +01:00
Magnus Norddahl
d43ac8b9ae
- Add model rendering to the software renderer
2017-11-27 23:47:26 +01:00
Christoph Oelckers
57058ef727
- removed all remains of the old EAX editor.
2017-11-26 15:23:07 +01:00
Christoph Oelckers
836970f012
- moved the matrix code out of 'gl' because the model code also needs it.
2017-11-25 13:51:09 +01:00
Magnus Norddahl
637a9dff9b
- Rename voxels.cpp to models_voxel.cpp to avoid having two source files with the same name (confuses debuggers and some build tools)
2017-11-25 13:22:59 +01:00
Magnus Norddahl
7bb92812b8
- Move models into r_data
2017-11-25 13:19:00 +01:00
Magnus Norddahl
b25f191e85
- Move shared model code out of the GL renderer
2017-11-25 12:11:57 +01:00
alexey.lysiuk
0f5ff5a5de
Removed obsolete files after timer code refactoring
2017-11-25 11:48:22 +02:00
Rachael Alexanderson
fd5b8cdbf7
Merge remote-tracking branch 'origin/master' into newtimercode4
...
# Conflicts:
# src/gl/models/gl_models.cpp
2017-11-23 21:08:09 -05:00
Magnus Norddahl
00d7dd0c64
- Implement model rendering in softpoly
2017-11-24 00:39:10 +01:00
Christoph Oelckers
734f5104dd
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-11-22 21:43:01 +01:00
Magnus Norddahl
0ef8105e6b
- Add missing r_draw.cpp in CMakeLists.txt
2017-11-21 18:57:44 +01:00
Christoph Oelckers
6389b6b914
- UMAPINFO parser, including some convenience additions to FScanner.
...
Not tested yet!
2017-11-19 23:04:15 +01:00
Christoph Oelckers
6bd76d6b5a
- fixed compilation in debug mode.
...
- moved timer definitions into their own header/source files. d_main is not the right place for this.
- removed some leftover cruft from the old timer code.
2017-11-12 09:06:40 +01:00
alexey.lysiuk
0e706bfecf
Use tmpfileplus() instead of tempnam()
...
Finally get rid of security or deprecated warnings cause by tempnam() function usage
2017-11-07 11:50:07 +02:00
Rachael Alexanderson
2fd5d0da54
- improve speed for ARMv7 processors by specifying hardware float calculations, and tuning it specifically for the Cortex-a7 CPU (for Raspberry Pi 2).
2017-10-25 09:31:55 -04:00
alexey.lysiuk
557958577b
Removed all code needed to support macOS earlier than 10.7 Lion
2017-10-07 15:11:30 +03:00
Rachael Alexanderson
f71a6e249d
- remove unsafe math operations for armv8
2017-09-07 15:56:00 -04:00
Magnus Norddahl
7a1274ab76
- Collect all PVS information first so that processing the individual sectors can be done on multiple threads
2017-09-07 00:34:09 +02:00
Rachael Alexanderson
30087f7cd7
- cleaned up the video scale mode code a bit, in order to increase future flexibility.
2017-07-27 03:05:01 -04:00
Rachael Alexanderson
c1e3f10802
Merge https://github.com/coelckers/gzdoom
2017-07-15 00:24:25 -04:00
alexey.lysiuk
970adff5e7
Use multiple threads for xBRZ upscaling
...
Implementation relies on Concurrency Runtime, Grand Central Dispatch aka libdispatch or OpenMP depending on their availability
2017-07-14 16:01:38 +03:00
Magnus Norddahl
c38d0c1637
Merge branch 'line_distance_cull' into qzdoom
...
# Conflicts:
# src/swrenderer/scene/r_opaque_pass.cpp
2017-07-12 07:11:43 +02:00