Christoph Oelckers
0c63f5c832
- moved FRenderState to 'common' and removed some game-dependent parts from it.
2020-04-25 23:29:38 +02:00
Magnus Norddahl
9ef6d8fd53
Always null textures for all slots because the vulkan target is an OpenGL emulator ;)
2020-04-19 10:57:44 +02:00
Christoph Oelckers
3e285d2261
- moved renderstyle and colortables code to 'common'.
2020-04-11 20:20:37 +02:00
Magnus Norddahl
08e86b5bcc
- fix vulkan crash when there are no textures in player's view
2020-02-15 10:42:46 +01:00
Magnus Norddahl
ad8c5bb96e
- add VkRenderPassManager::GetVertexFormat so that all VkRenderState access is done through functions that can then be made thread safe
2019-07-28 17:20:49 +02:00
Magnus Norddahl
a093f686a7
- store the vulkan framebuffer with the image (this ensures the framebuffer object is destroyed along with the image)
2019-06-10 22:14:02 +02:00
Magnus Norddahl
680a6f348b
- use one render pass for the entire scene or until postprocess or command buffer flushing forces it to end
2019-05-18 08:12:46 +02:00
Magnus Norddahl
7e37d640dc
- avoid creating a new render pass if a pipeline bind will suffice
2019-05-18 06:54:35 +02:00
Magnus Norddahl
e1ae8bbc59
- rendering to texture requires a separate depth/stencil image as the image used by the main view may be using multisampling
2019-05-05 01:58:36 +02:00
Magnus Norddahl
d63513ec14
- fix normal vectors on models
2019-04-17 20:42:00 +02:00
Magnus Norddahl
40a72c71f5
- fix shutdown crash
2019-04-11 18:21:51 +02:00
Magnus Norddahl
eb9f6ec313
- remove the 6 layer texture descriptor set limitation
2019-04-09 16:30:49 +02:00
Magnus Norddahl
d47891d20a
- allocate new texture descriptor pool if it is full
2019-04-09 14:06:24 +02:00
Magnus Norddahl
c00a46043d
- implement ssao
2019-03-16 23:37:38 +01:00
Magnus Norddahl
cce96ca87a
- implement shadow maps
2019-03-15 07:54:34 +01:00
Magnus Norddahl
903f8b6696
- move the active render target from VkRenderPass to VkRenderState
2019-03-13 00:18:27 +01:00
Magnus Norddahl
dca0b75038
- change the images to be upside down until presentation to increase compatibility with shaders designed for OpenGL
...
- clamp scissors fully to avoid NVidia's awful drivers locking up the entire system if they end up out of bounds
- perform buffer clears as part of the render pass. this puts some restrictions on how FRenderState.Clear can be used
- add an offset uniform to the present shaders so the vulkan target can flip the image during presentation
2019-03-12 23:53:20 +01:00
Magnus Norddahl
fed0f0dfab
- fix the multisample and image transition validation errors
2019-03-09 23:17:48 +01:00
Magnus Norddahl
6db231596f
- hook up postprocessing
2019-03-07 18:05:12 +01:00
Magnus Norddahl
d65de299e8
- add some classes for managing postprocess and render buffers
2019-03-05 04:59:17 +01:00
Magnus Norddahl
2532e4bba6
- fall back to VK_FORMAT_D32_SFLOAT_S8_UINT if VK_FORMAT_D24_UNORM_S8_UINT is not supported
2019-03-04 14:47:49 +01:00
alexey.lysiuk
802d37f377
- fixed compilation of Linux target
...
Base and OpenGL framebuffer classes still require proper splitting
2019-03-04 12:47:00 +02:00
Magnus Norddahl
eaf367e876
- add depth bias
2019-03-04 00:14:28 +01:00
Magnus Norddahl
cf49e1ec21
- add depth clamp support
2019-03-03 23:54:13 +01:00
Magnus Norddahl
923fb5c127
- implement the depth and stencil states
2019-03-03 22:25:38 +01:00
Magnus Norddahl
fd752dec54
- don't search for a renderpass if the current one matches
2019-03-03 00:16:00 +01:00
Magnus Norddahl
05a6896d4f
- Pass vertex color and normal via uniform buffer when the attribute isn't available
2019-03-02 01:56:08 +01:00
Magnus Norddahl
1430d9012e
- fix shutdown crash and some minor adjustments
2019-03-02 00:46:25 +01:00
Magnus Norddahl
7871ec06ae
- add depth/stencil attachment to the render pass
2019-03-01 21:34:08 +01:00
Magnus Norddahl
ee8349d168
- add support for specifying the topology
2019-03-01 20:06:20 +01:00
Magnus Norddahl
c691a8fe64
- bind the vertex inputs as specified by its vertex buffer format
2019-03-01 15:37:13 +01:00
Magnus Norddahl
d4118a755c
- load all the shaders and use the right one for each renderpass
2019-03-01 02:40:02 +01:00
Magnus Norddahl
7f3e473f56
- create a render pass for each blend setup
2019-03-01 00:42:51 +01:00
Magnus Norddahl
9ed1c7f40b
- add render pass manager and setup a pipeline for VkRenderState
2019-02-26 11:27:29 +01:00