Christoph Oelckers
c5b3b9e107
- moved the viewpoint buffer to hwrenderer.
2018-10-28 13:26:47 +01:00
Christoph Oelckers
b51cc8b115
- base the viewpoint buffer on IDataBuffer.
2018-10-28 13:18:13 +01:00
Christoph Oelckers
3b26e64404
- renamed the 'vertexbuffer' files to 'buffers' because it's now generic for all buffer types.
2018-10-28 12:04:20 +01:00
Christoph Oelckers
a1fb1f60f4
- replaced IUniformBuffer with IDataBuffer, which reuses the code for the other buffer types and is more flexible.
2018-10-28 11:54:26 +01:00
Christoph Oelckers
8abf09afe2
- consolidated buffer implementations.
...
Since this is nearly identical for different buffer types they should share the same code wherever possible.
2018-10-28 09:45:51 +01:00
Christoph Oelckers
9e109995cd
- moved model renderer to hwrenderer after removing the remaining traces of OpenGL.
2018-10-28 00:40:41 +02:00
Christoph Oelckers
51acf3053c
- fixed model vertex buffer setup.
...
Setting the buffer and its attribute bindings must be one step, not twp. With Vulkan this is a single API call.
This removes the now obsolete SetVertexBuffer method from the model renderer's interface.
2018-10-27 23:33:22 +02:00
Christoph Oelckers
a62cd64138
- removed all direct OpenGL dependencies from gl_models.cpp.
2018-10-27 22:55:33 +02:00
Christoph Oelckers
ac37ff422a
- removed unneeded Apply call.
...
This had a problem with being called before some data was going to be deleted so its applied buffer state got lost.
2018-10-27 22:30:50 +02:00
Christoph Oelckers
83e706afe7
- - removed the remains of the old FVertexBuffer class.
2018-10-27 22:04:13 +02:00
Christoph Oelckers
067716cefb
- made sky vertex buffer backend independent.
2018-10-27 21:31:27 +02:00
Christoph Oelckers
b92b7ca0a7
- fixed a few more places where unwanted dynamic lights were still active.
2018-10-27 19:25:51 +02:00
Christoph Oelckers
537faa16dc
- fixed: Before rendering a portal the dynamic light index must be reset.
...
Otherwise the portal may 'inherit' some light of the last rendered item.
This is important for non-scene portals which have no dynamic lighting.
2018-10-27 19:16:56 +02:00
Christoph Oelckers
cd8c7a17eb
- model vertex buffer converted.
2018-10-27 16:59:13 +02:00
Christoph Oelckers
5201501534
- added lock/unlock methods to the buffer implementations.
...
These are not interchangeable with Map/Unmap!
Map/Unmap is for mapping a buffer for updating on old hardware, Lock/Unlock are for manually copying some initialization data directly into a static buffer.
2018-10-27 16:04:28 +02:00
Christoph Oelckers
5a4e5a8038
- moved the remaining parts of the main vertex buffer to hwrenderer.
2018-10-27 14:42:24 +02:00
Christoph Oelckers
dad3c50ebd
- renamed classes before continuing.
2018-10-27 14:27:43 +02:00
Christoph Oelckers
72bc7693bd
- refactored main vertex buffer (but didn't merge with hwrender class yet.
2018-10-27 14:24:47 +02:00
Christoph Oelckers
332ab220ad
- hooked low level buffers into render state.
...
It still needs to support the old interface so the code isn't really clean
2018-10-27 10:55:35 +02:00
Christoph Oelckers
3db26a3a1b
- added an abstract index buffer implementation as well.
2018-10-27 10:26:51 +02:00
Christoph Oelckers
bb09f5488f
- added an abstract base vertex buffer class.
2018-10-27 09:07:26 +02:00
Christoph Oelckers
5cce310f11
- fixed line portal setups in one-subsector maps.
2018-10-27 00:47:24 +02:00
Christoph Oelckers
fa85717155
- a bit of code reordering.
2018-10-25 22:50:45 +02:00
Christoph Oelckers
4f4bcd2d7d
- moved DrawSorted back to HWDrawList.
2018-10-25 22:45:55 +02:00
Christoph Oelckers
21b658d34f
Merge branch 'master' into renderstate_abstraction
2018-10-25 22:30:26 +02:00
Christoph Oelckers
c98474d1c7
- portal refactoring complete.
2018-10-25 22:30:03 +02:00
Magnus Norddahl
952ffb289c
Merge branch 'master' of https://github.com/coelckers/gzdoom
2018-10-25 12:41:08 +02:00
Magnus Norddahl
2404634d5d
- fix softpoly bug where sprites and translucent walls in front of models would disappear
2018-10-25 12:40:56 +02:00
Christoph Oelckers
bc97e585ba
- removed some leftover GL2 code.
2018-10-25 01:02:16 +02:00
Christoph Oelckers
cead0194bd
- safety commit. To finalize we need a better vertex buffer interface.
2018-10-25 00:49:39 +02:00
Christoph Oelckers
3940f17980
- portals are now completely on the hwrenderer side.
...
The only thing that still needs to be on the backend side is the one function that manages the rendering.
2018-10-25 00:25:55 +02:00
Christoph Oelckers
e6b5eba469
- moved GLScenePortal to the hardware independent code.
2018-10-24 07:57:32 +02:00
Christoph Oelckers
c76c4b77ec
- merged GLPortal into HWPortal after all direct OpenGL dependencies have been removed.
2018-10-24 07:49:06 +02:00
Christoph Oelckers
d757efde96
- renamed IPortal to HWPortal
2018-10-24 07:35:22 +02:00
Christoph Oelckers
3e4dcbe2b4
- groundwork for separating the portal data from the renderer.
...
With GLPortal being responsible for all the setup a lot of code was tied to the backend.
Now FDrawInfo will manage the setup and only call pure data generation functions in the actual portal object.
2018-10-24 00:19:07 +02:00
Christoph Oelckers
93dac4e4d8
- some reorganization of portal code.
2018-10-23 22:32:00 +02:00
Tommy Nguyen
75bd1b00b4
- use value initialization for secspecial_t
2018-10-23 20:30:27 +02:00
Magnus Norddahl
43c30ff485
- fix null pointer crash
2018-10-23 09:17:55 +02:00
Magnus Norddahl
22422635a0
- portal check is overridden by a different inverted check in the software renderer
2018-10-23 09:08:41 +02:00
Magnus Norddahl
af9757abaf
- Cull two-sided lines using the same rules as the software renderer is using (as suspicious as they may be)
2018-10-23 07:42:14 +02:00
Christoph Oelckers
93599e483f
- moved weapon drawing to hwrenderer.
2018-10-22 23:40:44 +02:00
alexey.lysiuk
2ba6148834
- fixed default values for S_ChangeMusic
...
https://forum.zdoom.org/viewtopic.php?t=62323#p1076849
2018-10-22 08:19:56 +03:00
Christoph Oelckers
08e1b49988
- removed include
2018-10-21 20:21:16 +02:00
Christoph Oelckers
3775c4756e
- moved sprite drawer to hwrenderer as well.
2018-10-21 17:50:01 +02:00
Christoph Oelckers
346a9ce149
- fixed initialization.
2018-10-21 14:45:03 +02:00
Christoph Oelckers
0af65a8fa0
- removed the direct setters for the blend mode state.
...
This will now always have to go through the render state.
2018-10-21 14:26:14 +02:00
Christoph Oelckers
a3aaa5cc8b
- removed old RenderStyle management.
2018-10-21 14:18:08 +02:00
Christoph Oelckers
8ffeb7812f
- made wall draw code API independent.
2018-10-21 13:53:50 +02:00
Christoph Oelckers
7897f26abf
- started reworking the wall drawer.
2018-10-21 13:11:36 +02:00
Christoph Oelckers
acad8315d0
- move stencil recursion counter to render state.
2018-10-21 10:58:11 +02:00