Commit Graph

18 Commits

Author SHA1 Message Date
Artem Kharytoniuk 07f4d33492 Skybox rendering. 2017-04-19 18:44:21 +03:00
Artem Kharytoniuk ab32f499f8 Fixed r_fastsky and preparation to fix the rest of sky rendering. 2017-04-18 13:40:28 +03:00
Artem Kharytoniuk eac342cdd9 Store vertex attributes in SOA style: continuous region of vertex buffer per attribute.
Removed structures that specified different vertex format.
2017-04-14 19:58:06 +03:00
Artem Kharytoniuk 047be0bd46 Code reorganization and cleanup. 2017-04-14 13:43:04 +03:00
Artem Kharytoniuk ee7cd1b5f4 Use single function for rendering which handles both single texture and multitexture mode. 2017-04-14 11:08:09 +03:00
Artem Kharytoniuk 8c5fc8f674 New pipeline and set layouts design.
Pipeline layout consists of two identical descriptor sets.
Each descriptor set defines single descriptor of combined image sampler type.
2017-04-13 19:37:11 +03:00
Artem Kharytoniuk fb74befd75 Use push contants to specify mvp transform. 2017-04-13 18:03:12 +03:00
Artem Kharytoniuk 11791b47a3 Correct framebuffer's attachments clearing when multiple views are rendered. 2017-04-12 18:25:20 +03:00
Artem Kharytoniuk 0d29be174f Clean up: moved render pass/framebuffer handles to Vulkan_Instance.
Demo code removal.
2017-04-11 19:24:39 +03:00
Artem Kharytoniuk 6afd32f4d2 Clean up: moved command_pool/command_buffer handles to Vulkan_Instance. 2017-04-11 14:30:47 +03:00
Artem Kharytoniuk eca35b6050 Clean up: introduced Vulkan_Instance, Vulkan_Resources structures.
Vulkan_Instance contains variables related to persistent vulkan resources like instance, device, queue, swapchain, etc.
Vulkan_Instance is re-iniitalized only during window creation.

Vulkan_Resources contains data specific to current game context, i.e. current level.
Vulkan_Resources can be re-loaded during level change, level exit, etc.
2017-04-11 14:05:38 +03:00
Artem Kharytoniuk 44a5f950ad Logic to specify face culling during pipeline creation. 2017-04-10 14:42:52 +03:00
Artem Kharytoniuk 886ea847ca Vk_Vertex, Vk_Vertex2 - vertex formats for single/multi textured geometry correspondingly. 2017-04-10 11:46:36 +03:00
Artem Kharytoniuk 121afa2231 Create pipelines based on GLS_XXX state. 2017-04-06 17:26:22 +03:00
Artem Kharytoniuk 76d4deb58a Specify shaders directly as arrays of bytes in source code.
This allows us to provide all functionality in executable file without providing additional data files.
Added bin2hex utility that does [spirv binary->cpp code] conversion.
Idea is based on vkQuake implementation.
2017-04-05 14:26:15 +03:00
Artem Kharytoniuk e9b972d562 New cvars: r_renderAPI , r_renderAPICompareWindow.
r_renderAPI specifies rendering API to use (0 - opengl, 1 - vulkan).
r_renderAPICompareWindow shows additional window which does the same rendering as the main windows but uses different graphics API.
The idea is to use r_renderAPICompareWindow for debugging to be sure that both APIs render identical/similar pictures.
2017-03-30 17:39:48 +03:00
Artem Kharytoniuk 54ab26edb3 Cinematic images update. 2017-03-27 17:20:21 +03:00
Artem Kharytoniuk f12488d99f Added vk.h/cpp - it is going to be the main vulkan related module in the renderer.
The plan is to remove other vulkan modules copied from the demo project for quick bootstrapping and replace them by more engine specific vulkan code.
2017-03-24 11:52:01 +02:00