Commit Graph

19 Commits

Author SHA1 Message Date
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 3127807db9 Removed glm third party dependency. 2017-04-10 12:48:24 +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 8a4cce66ed Started work on removing vulkan demo code.
Cinematics update.
Clean up.
2017-04-10 11:11:17 +03:00
Artem Kharytoniuk 6d50cb783c Proper images selection, so animation images work now. 2017-04-07 16:47:21 +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 258a1ca9cd Multitexture rendering prototyping. 2017-04-03 14:40:32 +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 1b46128499 Quick prototyping of 3d mode rendering. 2017-03-29 14:17:58 +03:00
Artem Kharytoniuk 103bc0462b Use dynamic buffer offsets to update ubo per draw. 2017-03-29 11:20:50 +03:00
Artem Kharytoniuk d0700752eb Quick prototyping of 2d mode rendering (UI). 2017-03-28 22:32:42 +03:00
Artem Kharytoniuk 6cd89f37ac Working on UI drawing. 2017-03-28 16:50:16 +03:00
Artem Kharytoniuk 7a1e74fa35 Orthographic projection matrix that respects vulkan viewport conveтions. 2017-03-28 13:40:54 +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
Artem Kharytoniuk f944034d17 First attempt for general frame begin/end vulkan functionality.
Test code to draw q3 cinematic.
Bugs to fix when things will settle down a bit: cinematic leaks memory, render_view function invalidates command buffer when multiple scenes are rendered in a single frame.
2017-03-23 23:19:44 +02:00
Artem Kharytoniuk ab66921e14 Added VkImage to image_t. For testing purposes draw all images in a sequence on screen aligned quad. 2017-03-22 11:08:58 +02:00
Artem Kharytoniuk 389bbf32c2 Rename: source -> src. 2017-03-17 15:28:25 +02:00