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
c208817246
Rename.
2017-04-12 18:31:29 +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
73e4db35d7
Call scissor/viewport/depth bias commands after vkCmdBindPipeline to meet vulkan spec.
2017-04-11 19:36:50 +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
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