Commit Graph

22 Commits

Author SHA1 Message Date
Ivan Avdeev 6b2c8977ae add pipeline cache 2021-02-06 11:38:21 -08:00
Ivan Avdeev fc9eedbd9d apply proper lightstyles on map load
Lightstyles remain fixed for the entire map duration. Need to implement either texture reupload in VK, or devise some other scheme of updating ligtmaps w/o texture reupload (lightstylevalues uniform buffers?).
2021-02-03 10:06:21 -08:00
Ivan Avdeev 8870650466 split vk_map into vk_scene and vk_brush
Scene controls entity list for scenes
Brush is only responsible for drawing brush models
2021-02-01 11:05:04 -08:00
Ivan Avdeev e848e312d3 add VK_EXT_debug_utils labels
This extension allows adding labels to vulkan objects and insert string
labels into command buffers. This is visible in tools like RenderDoc and
helps with debugging a lot.

When running with -vkdebug:
- mark all texture VkImages and VkImageViews with corresponding names
- label brush model draw calls accordingly
2021-01-31 16:50:27 -08:00
Ivan Avdeev eaa3d4295d draw brush surface textures
it's now *very slow* because every surface (which is just a few polys)
gets its own draw call and descriptor bind. F

we also had to make default sampler repeating, so now 2d textures in
menu have weird edge artifacts. also F

making progress i guess
2021-01-30 12:12:41 -08:00
Ivan Avdeev 0fc79bf90d Draw some of the brush models
Load all brush models in R_NewMap
Only opaque models are drawn.

This makes WAGONCHIK (and other doors) visible and animated. yay.
2021-01-27 12:00:11 -08:00
Ivan Avdeev 5d0146e17a draw static map geometry with debug shader
there are lots of glitches and no textures, but this is a first step!
2021-01-23 19:38:00 -08:00
Ivan Avdeev 5a2ad5965d add depth buffer and map geometry loading
it's not being drawn yet though
2021-01-23 10:54:44 -08:00
Ivan Avdeev 4b124e240a fix texture wrapping in menu background 2021-01-18 13:38:33 -08:00
Ivan Avdeev d4c463c507 move swapchain to framectl; make validation errors crash process early 2021-01-18 10:54:48 -08:00
Ivan Avdeev 4d6739da0a get it to crappily draw 2d ui menus wtf 2021-01-16 17:02:43 -08:00
Ivan Avdeev 5541bfb541 add loading textures 2021-01-16 15:45:10 -08:00
Ivan Avdeev b9d872f279 increase draw limit; fix deinit validation 2021-01-16 13:49:07 -08:00
Ivan Avdeev 48e6765222 draw uv menu 2021-01-16 13:22:31 -08:00
Ivan Avdeev e7a99c2558 create command pool and buffer 2021-01-13 12:10:36 -08:00
Ivan Avdeev 5600cf45ef create pipeline for 2d rendering 2021-01-13 11:54:34 -08:00
Ivan Avdeev 986d26b8b7 create render pass and framebuffers 2021-01-13 09:58:01 -08:00
Ivan Avdeev c7203d0ecf create swapchain 2021-01-11 11:15:32 -08:00
Ivan Avdeev 0170f3e408 create vulkan device 2021-01-09 17:14:32 -08:00
Ivan Avdeev 0dcedece06 create vulkan instance; fix instance extension ref api 2021-01-09 16:05:55 -08:00
Ivan Avdeev fa683fb882 fix vulkan handles width in 32-bit mode; print vk version 2021-01-09 14:05:34 -08:00
Ivan Avdeev 3e800fa989 start splitting into functional blocks; add vk funcs 2021-01-09 13:21:58 -08:00