Commit Graph

14431 Commits

Author SHA1 Message Date
alexey.lysiuk 86232df5ee Fixed rendering of walls and flats
With high resolution textures enabled (gl_texture_usehires CVAR set to true) and without hires textures loaded walls and flats were black
2018-04-26 10:37:27 +03:00
Christoph Oelckers 6e58f72329 - continued reorganization of GLWall. 2018-04-26 07:07:46 +02:00
Christoph Oelckers 1ae6ad2a82 - moved the legacy member functions of GLWall to FDrawInfo. 2018-04-25 22:58:56 +02:00
Christoph Oelckers 41d5bd76d4 - moved decal rendering from GLWall to FDrawInfo.
First step of turning GLWall into a pure data container.
2018-04-25 22:09:12 +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 557c8b480b - missed the menu part. 2018-04-25 20:34:28 +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
ZZYZX 3129840a04 Only call additional LineCheck if there are 3D floors 2018-04-25 19:38:29 +02:00
ZZYZX da089b09b1 Added missing commented enum entry for ETraceFlags on ZScript side 2018-04-25 19:38:29 +02:00
ZZYZX 3eef3d7845 Implemented workaround for ZScript LineTrace with 3D floors 2018-04-25 19:38:29 +02:00
Christoph Oelckers 85300993af - replaced gl_PatchMenu with an MMX 'ifoption' check. 2018-04-25 19:36:48 +02:00
Christoph Oelckers cf8ee3130b - gl_clock moved to hwrenderer. 2018-04-25 18:39:54 +02:00
Christoph Oelckers 982776d48d - removed dependencies on GL-API related classes from gl_walls.cpp and gl_sky.cpp
Not complete yet, but at least the GLWall memberes no longer reference GLSceneDrawer and the implementation dependent parts of FDrawInfo.
2018-04-25 14:58:13 +02:00
Christoph Oelckers bf81799701 - typo 2018-04-25 13:59:27 +02:00
Christoph Oelckers 81341ac6c5 - Moved all static variables in hw_renderhacks into HWDrawInfo
- removed the profiling code from hw_renderhacks because it was broken in its current state and if still needed needs to be redone differently.
2018-04-25 13:59:14 +02:00
Christoph Oelckers 1648fc6a07 Fixed initialization issues with dynamic lights.
Actors get initialized from their defaults so anything done in the constructor or some explicit member initialization will be overwritten.
They must use their properties for setting up configurable fields and do the rest in BeginPlay.
2018-04-25 09:14:01 +02:00
Christoph Oelckers f4e139485a - fixed return value of hw_CheckViewArea. 2018-04-25 00:30:35 +02:00
Christoph Oelckers bc8f47444f - texture precaching also moved to hwrenderer/. 2018-04-25 00:07:46 +02:00
Christoph Oelckers e24b597ae4 - got rid of the gl_info substructure in FTexture and moved all elements into the main class. 2018-04-24 23:51:19 +02:00
Christoph Oelckers 1a024a9f54 - moved gl_material into hwrenderer/. 2018-04-24 23:39:58 +02:00
Christoph Oelckers 0675315b41 - made FHardwareTexture inherit from an abstract interface to remove all GL dependencies from gl_material.cpp. 2018-04-24 23:06:34 +02:00
Christoph Oelckers f9a82e66e4 - removed all GL dependencies from gl_material.h. 2018-04-24 22:37:52 +02:00
Christoph Oelckers 5e8a4b96fe - make sure that warping textures never create a warped true color image.
This replaces the old redirection hackery that had to work differently for the legacy render path.
Overriding CopyTrueColorTranslated is far more robust and ensures that no edge cases can reach the GetPixels function, which wasn't the case before.
2018-04-24 21:58:26 +02:00
Christoph Oelckers c37ff22a05 - removed the intermediate FGLTexture class.
This wasn't serving any real purpose anymore, and all its remaining functionality could be moved to FHardwareTexture
2018-04-24 20:41:52 +02:00
Christoph Oelckers 8d62ebd2f4 - renamed the functions in hw_fakeflat.cpp 2018-04-24 17:52:35 +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
alexey.lysiuk 2ae8d39441 Removed all superfluous #include's
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers d976ce92e2 Merge branch 'master' of https://github.com/coelckers/gzdoom 2018-04-24 12:12:36 +02:00
Christoph Oelckers e55b52f356 Moving the files to hwrenderer/ 2018-04-24 11:58:04 +02:00
Kevin Caccamo 1c58093fc8 Add info about UseSpecial flag feature conflict above Actor.Used 2018-04-24 05:56:07 -04:00
Christoph Oelckers dbb1492bf9 Fully separated HWDrawInfo from GL dependencies.
This also required temoporarily moving one small function because in the current state this cannot be done in the API independent part.
2018-04-24 11:52:15 +02:00
Christoph Oelckers a803b3d393 Split FDrawInfo in two
Done so that the entire gl_renderhacks.cpp file can be moved out of the GL folder.
Not cleaned up yet
2018-04-24 10:30:26 +02:00
Magnus Norddahl 45625399dc - fix softpoly line portals 2018-04-23 23:09:11 +02:00
Christoph Oelckers a93799b21f - moved the "unused" folder to the repo's top level. 2018-04-23 22:25:29 +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
Christoph Oelckers 60567f207c - made CheckViewArea a global function.
This can be put into the common hwrenderer folder but for that it shouldn't be part of the scene drawer.
2018-04-23 22:10:11 +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
Magnus Norddahl 2aee68d215 - slightly improve sector portal handling in softpoly 2018-04-23 01:03:37 +02:00
Magnus Norddahl 6e77cb4906 - fix softpoly mirrors 2018-04-22 23:29:39 +02:00
alexey.lysiuk ee9fa7c33e Made 100% kills possible on Altar of Evil, easy skill
https://www.doomworld.com/idgames/levels/doom2/Ports/a-c/altar666
2018-04-22 17:49:13 +03:00
Magnus Norddahl 16a8d71caf - Simplify the portal code in softpoly somewhat 2018-04-21 15:19:28 +02:00
alexey.lysiuk b0261d9545 Actor's Activation property is now stored in saved game
https://forum.zdoom.org/viewtopic.php?t=60295
2018-04-21 13:12:12 +03:00
alexey.lysiuk 9398d602f8 Fixed applying of dymanic lights to models
https://forum.zdoom.org/viewtopic.php?t=60301
2018-04-19 12:50:07 +03:00
alexey.lysiuk 75129f54b4 Deleted remnants of old software backend 2018-04-19 12:44:20 +03:00
alexey.lysiuk 220d923e65 Do not write g_pch.cpp if it's already up-to-date
This eliminates rebuilding of main executable by MSVC on every project generation by CMake
2018-04-19 11:36:52 +03:00
alexey.lysiuk 3212da8fcf Cleaned up #include's in dynamic lights code 2018-04-19 11:12:29 +03:00
alexey.lysiuk 671736ecdc Disabled annoying MSVC 2015 warnings in ADL and OPN files
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_midiplay.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_load.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_private.cpp)
src\sound\adlmidi\adlmidi_private.hpp(457): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\adlmidi\adlmidi_opl3.cpp)
src\sound\opnmidi\opnmidi.cpp(132): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi.cpp(147): warning C4800: 'unsigned int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(168): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(177): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(186): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(195): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi.cpp(209): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(740): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(741): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(742): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\adlmidi\adlmidi_midiplay.cpp(743): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_midiplay.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_load.cpp)
src\sound\opnmidi\opnmidi_midiplay.cpp(697): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_midiplay.cpp(698): warning C4800: 'unsigned int': forcing value to bool 'true' or 'false' (performance warning)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_opn2.cpp)
src\sound\opnmidi\opnmidi_private.hpp(404): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file src\sound\opnmidi\opnmidi_private.cpp)
2018-04-19 11:12:20 +03:00
Christoph Oelckers e77cba1fd8 - added a 'lightsizefactor' command to gldefs.
This is for mitigating the recently discovered problem with attenuated lights getting reduced in size, even on OpenGL 3+. The intent of the shrinking was to account for higher brightness of non-attenuated lights on OpenGL 2 and was never meant to be active on more modern versions.
The factor will apply to any attenuated light defined after it and will be inherited by included sub-lumps, but it will only last for the lunp it is set in.

If you have a definition for the broken behavior, AddLightAssociation

'lightsizefactor 0.667' at the top of your GLDEFS.
2018-04-18 22:15:06 +02: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