Artem Kharytoniuk
c50a0f4484
Fog.
2017-04-29 14:44:20 +03:00
Artem Kharytoniuk
e3ff14bda1
Fixed bug in SurfIsOffscreen.
...
This function is called by the frontend but it uses backend functionality to tesselate geometry.
It didn't clean up genereated tess data so backend received unnecessary,
geometry to render. It wasn't visible since viewport dimensions defaulted to zero values still
vulkan validation layer detected invalid vkCmdSetViewport parameters.
2017-04-28 21:10:42 +03:00
Artem Kharytoniuk
73e2be0447
Mirrors and portals.
2017-04-28 19:13:24 +03:00
Artem Kharytoniuk
ae98b8b9ed
Texture filtering.
2017-04-27 14:53:37 +03:00
Artem Kharytoniuk
4d33fcf925
Texture addressing mode selection (repeat or clamp).
2017-04-27 12:20:06 +03:00
Artem Kharytoniuk
327ebe2daf
videoMap support.
2017-04-26 23:49:55 +03:00
Artem Kharytoniuk
d66d7c4363
Image view creation code cleanup.
2017-04-26 19:32:58 +03:00
Artem Kharytoniuk
a8fc2da718
Mipmaps.
2017-04-26 19:08:27 +03:00
Artem Kharytoniuk
d110d15a06
Image creation functions update.
2017-04-24 22:30:15 +03:00
Artem Kharytoniuk
1e74933a47
Clean up.
2017-04-24 18:49:53 +03:00
Artem Kharytoniuk
e73ff2f88e
Minor cleanup.
2017-04-24 17:08:51 +03:00
Artem Kharytoniuk
f2f0cea494
Staging buffer memory allocation.
...
Also removed the last piece of demo project code!
2017-04-24 16:35:46 +03:00
Artem Kharytoniuk
8f15de3cdc
Memory allocation for geometry data.
...
Single allocation is made and from it I suballocate two buffers: for vertex and index data correspondingly.
2017-04-24 15:11:43 +03:00
Artem Kharytoniuk
6dab078992
Image memory allocator.
...
Started process of removing demo project's allocator code.
2017-04-24 10:35:19 +03:00
Artem Kharytoniuk
f823930d83
Demo project files removal and cleanup.
2017-04-22 01:16:32 +03:00
Artem Kharytoniuk
2dacfbb44f
Cleanup: removed Shader_Module, Defer_Action helpers.
2017-04-20 13:57:49 +03:00
Artem Kharytoniuk
e3f41dd276
Demo project files removal and cleanup.
2017-04-20 12:57:46 +03:00
Artem Kharytoniuk
6df80b5783
Vk_Image structure to hold vulkan image's related resources.
2017-04-20 11:51:52 +03:00
Artem Kharytoniuk
140bec0188
Fixed ZFar plane bug.
2017-04-19 19:02:42 +03:00
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
a5d410fd9f
Cleanup.
2017-04-16 21:26:47 +03:00
Artem Kharytoniuk
054816df49
Adjusted depth range for weapon rendering (matches opengl version).
2017-04-16 21:25:22 +03:00
Artem Kharytoniuk
d1ae59d70a
Removed unused code.
2017-04-14 21:06:06 +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
63d14ef988
Vulkan SDK update (1.0.46.0).
2017-04-13 14:06:32 +03:00
Artem Kharytoniuk
e557f6cf82
Reset tess.numVertexes in the end of RB_EndSurface.
...
This gives us more consistent state and avoids potentially unnecessary draw calls due to RB_CheckOverflow.
2017-04-13 11:51:43 +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
44a5f950ad
Logic to specify face culling during pipeline creation.
2017-04-10 14:42:52 +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
a45d37355e
Cleanup.
2017-04-05 15:17:16 +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
a02cb3ee10
Cleanup: removed r_ignoreFastPath and fast pass code.
...
This optimization is not important nowdays. Also fast pass was disabled by default in original code.
This change simplifies rendering code since now we have only two shader stage processing functions: generic and sky.
2017-04-03 16:54:14 +03:00
Artem Kharytoniuk
0962288d03
Cleanup: removed unused GL_DECAL texture env mode.
2017-04-03 16:00:00 +03:00
Artem Kharytoniuk
258a1ca9cd
Multitexture rendering prototyping.
2017-04-03 14:40:32 +03:00
Artem Kharytoniuk
27038dde48
Cleanup: removed effectively unused textureBundle_t::vertexLightmap variable.
2017-04-03 12:49:48 +03:00
Artem Kharytoniuk
c0ce8b4fe3
Removed SF_DISPLAY_LIST surface type.
...
It was only a placeholder without implementation and was not used by the engine.
2017-03-31 13:38:55 +03:00