From 764044b01ee9fb0b5e9e0d4d494546ec2a0c65c3 Mon Sep 17 00:00:00 2001 From: connellpaxton Date: Fri, 26 Jan 2024 10:52:20 -0500 Subject: [PATCH] First attempt at negative viewport, its not quite working for some reason (yet) --- Renderer/Renderer.cpp | 32 ++++++++++++++++++-------------- assets/shaders/basic.frag | 3 ++- assets/shaders/basic.frag.spv | Bin 808 -> 660 bytes 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/Renderer/Renderer.cpp b/Renderer/Renderer.cpp index 122df2a..b3d3fd8 100644 --- a/Renderer/Renderer.cpp +++ b/Renderer/Renderer.cpp @@ -24,7 +24,7 @@ Renderer::Renderer(Window& win) : win(win) { .apiVersion = VK_API_VERSION_1_1, }; - const auto req_extensions = win.requiredExtensions(); + auto req_instance_extensions = win.requiredExtensions(); auto extensions = vk::enumerateInstanceExtensionProperties(); std::vector extension_names(extensions.size()); @@ -32,11 +32,12 @@ Renderer::Renderer(Window& win) : win(win) { extension_names[i] = extensions[i].extensionName; } - Log::info("%u Required extensions:\n", (u32)req_extensions.size()); - for (const auto& ext : req_extensions) { + Log::info("%u Required extensions:\n", (u32)req_instance_extensions.size()); + for (const auto& ext : req_instance_extensions) { Log::info("\t- \"%s\"\n", ext); } + /* query and enable available layers if in DEBUG mode */ #ifdef _DEBUG @@ -55,8 +56,8 @@ Renderer::Renderer(Window& win) : win(win) { .pApplicationInfo = &app_info, .enabledLayerCount = std::size(my_layers), .ppEnabledLayerNames = my_layers, - .enabledExtensionCount = static_cast(req_extensions.size()), - .ppEnabledExtensionNames = req_extensions.data(), + .enabledExtensionCount = static_cast(req_instance_extensions.size()), + .ppEnabledExtensionNames = req_instance_extensions.data(), }; #else @@ -116,8 +117,9 @@ Renderer::Renderer(Window& win) : win(win) { }; /* enumerate available device features */ - std::vector required_extensions; - required_extensions.push_back("VK_KHR_swapchain"); + std::vector req_dev_extensions; + req_dev_extensions.push_back("VK_KHR_swapchain"); + req_dev_extensions.push_back(VK_KHR_MAINTENANCE1_EXTENSION_NAME); auto dev_extentions = phys_dev.enumerateDeviceExtensionProperties(); Log::info("%zu available device extensions\n", dev_extentions.size()); for (const auto& ext : dev_extentions) { @@ -139,8 +141,8 @@ Renderer::Renderer(Window& win) : win(win) { .pQueueCreateInfos = &queue_info, .enabledLayerCount = static_cast(dev_layer_names.size()), .ppEnabledLayerNames = dev_layer_names.data(), - .enabledExtensionCount = static_cast(required_extensions.size()), - .ppEnabledExtensionNames = required_extensions.data(), + .enabledExtensionCount = static_cast(req_dev_extensions.size()), + .ppEnabledExtensionNames = req_dev_extensions.data(), }; dev = phys_dev.createDevice(dev_info); @@ -168,9 +170,9 @@ Renderer::Renderer(Window& win) : win(win) { /* basic triangle */ std::vector triangle = { - {{ 0.0, 0.5, 0.0 }}, - {{ 0.5, 0.0, 0.0 }}, - {{ 0.5, 0.5, 0.0 }}, + {{ 1.0, 1.0, 0.0 }}, + {{-1.0, 1.0, 0.0 }}, + {{ 0.0,-1.0, 0.0 }}, }; vertex_buffer = std::make_unique(phys_dev, dev, triangle.size()); @@ -230,11 +232,13 @@ void Renderer::draw() { .pClearValues = clear_values, }; + /* flip viewport */ auto viewport = vk::Viewport{ .x = 0.0f, - .y = 0.0f, +// .y = 0.0f, + .y = static_cast(swapchain->extent.height), .width = static_cast(swapchain->extent.width), - .height = static_cast(swapchain->extent.height), + .height = -static_cast(swapchain->extent.height), .minDepth = 0.0f, .maxDepth = 1.0f, }; diff --git a/assets/shaders/basic.frag b/assets/shaders/basic.frag index ed984e7..fcbe8a9 100644 --- a/assets/shaders/basic.frag +++ b/assets/shaders/basic.frag @@ -7,5 +7,6 @@ layout (set = 0, binding = 0) uniform Matrices { }; void main() { - FragColor = vec4(abs(cos(time)), 0.5, 1.0, 1.0); +// FragColor = vec4(abs(cos(time)), 0.5, 1.0, 1.0); + FragColor = vec4(1.0); } \ No newline at end of file diff --git a/assets/shaders/basic.frag.spv b/assets/shaders/basic.frag.spv index 973bbf0a23f6c50281821ac0e8ee014a1a40fea0..f46c35ce314011c3f13a9a41472d96caf898b570 100644 GIT binary patch delta 331 zcmZ3%Hiea!nMs+Qfq{{Mn}L@>U?T5jM&5}Jg;jYOARxD(jDd}Tl>x+OWME(@$;?d! z$*?joGw@HAWR%VX$v{LH7(AdVL40Kp!GJ2p&cMJRfFuSo5v0z6fq}uDff;NI6PV4y zz|X+IpaeC;oq>gcfAU<$=z47i76vv31_my$OoP1+13LrARBoskNF0VG7+4s17#P6v zEDQ_`atthB8$eVj}NlM(&9Zg;lv3ARxD(jDd}Tl>x+OWME(@$;?d! z$*?joGw@E9WR%VX$v{LH7(AdVL40Kp!GJ2p&cMJRfFuSo5v0z6fq}uDff;NI6PV4y zz{|kEpaeC;oq>gcck*1u=z0kT76vW`1_qExEDQ_`atthBT_7