Christoph Oelckers
e1ad4b618d
- fixed: The targeter drawer did not check the return value of its setup function.
...
This caused invalid items to be passed to the renderer.
2018-05-10 09:09:24 +02:00
Christoph Oelckers
099057b142
- moved the vertex and light data generation back to the render pass for modern OpenGL with persistently mapped buffers.
...
Having this extra CPU time in there allows for better parallelization with the graphics driver and GPU.
2018-05-05 23:32:55 +02:00
Christoph Oelckers
52d73eabbf
- weapon drawing code refactor complete.
...
Setup and drawing are now done separately, this also no longer needs the Quad drawer.
2018-05-04 23:11:37 +02:00
Christoph Oelckers
e0833d5005
- prepared the weapon sprite drawer for full separation.
2018-05-03 23:49:16 +02:00
Christoph Oelckers
e309fd1f3d
- moved a bit more of the wall setup to the API independent side.
2018-05-03 22:14:25 +02:00
Christoph Oelckers
6285a309ce
- added UploadLights to the DrawInfo interface.
...
- removed GLPASS_PLAIN because it was the same as GLPASS_ALL.
2018-05-03 21:47:58 +02:00
Christoph Oelckers
96ac1fa363
- changed GLDecal to work without a pointer to the generating GLWall.
...
Although this is currently safe there is no guarantee that future refactorings will keep the current draw lists, so it's better if GLDecal used its own copy of the data.
2018-05-03 21:42:34 +02:00
alexey.lysiuk
e87cdd3658
- fixed missing geometry with render precision set to quality
...
https://forum.zdoom.org/viewtopic.php?t=60423
2018-05-03 21:10:05 +02:00
Christoph Oelckers
9bdb0f2e49
- renamed the flag bits for sector_t::MoreFlags, so that they are easier to distinguish from sector_t::Flags.
...
- precalculate if a sector's floor and ceiling plane overlap. This avoids rechecking this for each single call of hw_FakeFlat.
- vertices must be marked dirty every time they change after map setup. That means that ChangePlaneTexZ must do this as well, because it cannot rely on interpolation taking care of it.
- Having a 'dirty' argument for SetPlaneTexZ's ZScript version makes no sense. If the value changes from the script side the vertices must always be marked to be recalculated.
2018-05-01 11:29:29 +02:00
Christoph Oelckers
f49c6cbde2
- use sector_t::GetHeightSec consistently and optimize it.
...
This was all over the place, with half of it using the function and half doing incomplete checks on the underlying variables.
Also did some optimization on the IGNOREHEIGHTSEC flag: Putting it on the destination sector instead of the model sector makes the check even simpler and allows to precalculate the effect of 3D floors on the heightsec, which previously had to be run on every call and made the function too complex for inlining.
2018-05-01 09:47:09 +02:00
Christoph Oelckers
3c49804c6c
- some Transfer_Heights related optimizations.
...
* only call hw_CheckViewArea if the result is not known yet.
* check the map up front if it even contains heightsecs. This allows to shortcut the above check entirely for maps without sector transfers and will allow further optimizations.
2018-05-01 09:02:24 +02:00
Christoph Oelckers
2b5019ea6e
- fix for rendering a brightmapped 2D texture with ColorIsFixed render style.
...
This must disable the brightmap.
2018-04-30 21:28:06 +02:00
Christoph Oelckers
ebc1c5741b
- some more weapon code extracted.
2018-04-30 00:09:42 +02:00
Christoph Oelckers
c2ac985357
- split off the utility functions from gl_weapon.cpp.
...
Meaning there's only half as much code left to clean up.
2018-04-29 23:38:26 +02:00
Christoph Oelckers
1345c8e7b4
- fixed: NewDecal should not be called unless it is guaranteed that the decal will be rendered.
...
This left partially initialized items in the render list.
2018-04-29 19:28:13 +02:00
Christoph Oelckers
9350eee0c0
- GLDrawList moved to hwrenderer/.
2018-04-29 12:56:06 +02:00
Christoph Oelckers
77b301612a
- some refactoring of GLDrawList to remove implementation-specific parts from this class.
2018-04-29 12:32:21 +02:00
Christoph Oelckers
634b3cf413
- moved gl_spritelight out of gl/. This required a few more changes:
...
* split gl_shadowmap.cpp into a GL dependent and an API independent part.
* gl_drawinfo must be kept around for the HUD sprite because it connects the renderer with the hardware indpendent part of the engine.
2018-04-29 11:00:34 +02:00
Christoph Oelckers
819ea8f937
- reduced gl_spritelight.cpp to pure data setup so that it can be moved out of gl/.
...
- added thread_local to some static arrays being used for setting up dynamic lights.
Right now it's of little consequence but these will have to be maintained per thread if the render data setup is done by worker tasks.
2018-04-29 09:33:36 +02:00
Christoph Oelckers
64b108ff44
- hw_sprites extracted
...
- moved the variables for OpenGL's special textures to the texture manager because it is far better suited as a container than the GLRenderer.
2018-04-29 00:09:44 +02:00
Christoph Oelckers
d1720ad790
- GLSprite rework.
2018-04-28 20:02:17 +02:00
Christoph Oelckers
243e12bd8f
- split gl_flats.cpp
2018-04-28 13:24:45 +02:00
Christoph Oelckers
c5641a0e72
- GLFlat split into API-dependent and -independent data.
...
No resorting of the files yet.
2018-04-28 12:34:09 +02:00
Christoph Oelckers
d694e19f01
- split off the data generation parts of gl_skydome.cpp
2018-04-28 00:50:42 +02:00
Christoph Oelckers
785a6c2ce5
- moved gl_sky.cpp
2018-04-28 00:22:25 +02:00
Christoph Oelckers
fe2bfc6f11
- moved the API-independent parts of the decal code to hwrenderer/.
2018-04-27 20:34:20 +02:00
Christoph Oelckers
0d7c2527f2
- finished decal render refactoring.
...
Decals will now be processed into a list in the processing pass, allowing to use the vertex buffer even on GL3 hardware and to offload this part of the work to a multithreaded worker task.
2018-04-27 20:18:52 +02:00
Christoph Oelckers
1ae2f06161
Merge branch 'wallwork' of https://github.com/coelckers/gzdoom into wallwork
2018-04-27 18:53:08 +02:00
Christoph Oelckers
58c0431396
- copied gl_SetupLights to hw_walls.cpp.
2018-04-27 18:53:01 +02:00
Christoph Oelckers
200848a487
Decal work. Not finished yet.
2018-04-27 11:40:23 +02:00
Christoph Oelckers
bbea6e7e3c
Begin2D doesn't need a return type anymore
...
This was to tell the caller that software 2D was in use, but that doesn't exist anymore
2018-04-27 09:58:19 +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
937a2cf69f
- abstracted the vertex allocator.
2018-04-26 20:07:56 +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
f4e139485a
- fixed return value of hw_CheckViewArea.
2018-04-25 00:30:35 +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
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