First attempt at negative viewport, its not quite working for some reason (yet)
This commit is contained in:
parent
bd7f1ed4d3
commit
764044b01e
@ -24,7 +24,7 @@ Renderer::Renderer(Window& win) : win(win) {
|
|||||||
.apiVersion = VK_API_VERSION_1_1,
|
.apiVersion = VK_API_VERSION_1_1,
|
||||||
};
|
};
|
||||||
|
|
||||||
const auto req_extensions = win.requiredExtensions();
|
auto req_instance_extensions = win.requiredExtensions();
|
||||||
|
|
||||||
auto extensions = vk::enumerateInstanceExtensionProperties();
|
auto extensions = vk::enumerateInstanceExtensionProperties();
|
||||||
std::vector<const char*> extension_names(extensions.size());
|
std::vector<const char*> extension_names(extensions.size());
|
||||||
@ -32,11 +32,12 @@ Renderer::Renderer(Window& win) : win(win) {
|
|||||||
extension_names[i] = extensions[i].extensionName;
|
extension_names[i] = extensions[i].extensionName;
|
||||||
}
|
}
|
||||||
|
|
||||||
Log::info("%u Required extensions:\n", (u32)req_extensions.size());
|
Log::info("%u Required extensions:\n", (u32)req_instance_extensions.size());
|
||||||
for (const auto& ext : req_extensions) {
|
for (const auto& ext : req_instance_extensions) {
|
||||||
Log::info("\t- \"%s\"\n", ext);
|
Log::info("\t- \"%s\"\n", ext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* query and enable available layers if in DEBUG mode */
|
/* query and enable available layers if in DEBUG mode */
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
|
|
||||||
@ -55,8 +56,8 @@ Renderer::Renderer(Window& win) : win(win) {
|
|||||||
.pApplicationInfo = &app_info,
|
.pApplicationInfo = &app_info,
|
||||||
.enabledLayerCount = std::size(my_layers),
|
.enabledLayerCount = std::size(my_layers),
|
||||||
.ppEnabledLayerNames = my_layers,
|
.ppEnabledLayerNames = my_layers,
|
||||||
.enabledExtensionCount = static_cast<u32>(req_extensions.size()),
|
.enabledExtensionCount = static_cast<u32>(req_instance_extensions.size()),
|
||||||
.ppEnabledExtensionNames = req_extensions.data(),
|
.ppEnabledExtensionNames = req_instance_extensions.data(),
|
||||||
};
|
};
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@ -116,8 +117,9 @@ Renderer::Renderer(Window& win) : win(win) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* enumerate available device features */
|
/* enumerate available device features */
|
||||||
std::vector<const char*> required_extensions;
|
std::vector<const char*> req_dev_extensions;
|
||||||
required_extensions.push_back("VK_KHR_swapchain");
|
req_dev_extensions.push_back("VK_KHR_swapchain");
|
||||||
|
req_dev_extensions.push_back(VK_KHR_MAINTENANCE1_EXTENSION_NAME);
|
||||||
auto dev_extentions = phys_dev.enumerateDeviceExtensionProperties();
|
auto dev_extentions = phys_dev.enumerateDeviceExtensionProperties();
|
||||||
Log::info("%zu available device extensions\n", dev_extentions.size());
|
Log::info("%zu available device extensions\n", dev_extentions.size());
|
||||||
for (const auto& ext : dev_extentions) {
|
for (const auto& ext : dev_extentions) {
|
||||||
@ -139,8 +141,8 @@ Renderer::Renderer(Window& win) : win(win) {
|
|||||||
.pQueueCreateInfos = &queue_info,
|
.pQueueCreateInfos = &queue_info,
|
||||||
.enabledLayerCount = static_cast<u32>(dev_layer_names.size()),
|
.enabledLayerCount = static_cast<u32>(dev_layer_names.size()),
|
||||||
.ppEnabledLayerNames = dev_layer_names.data(),
|
.ppEnabledLayerNames = dev_layer_names.data(),
|
||||||
.enabledExtensionCount = static_cast<u32>(required_extensions.size()),
|
.enabledExtensionCount = static_cast<u32>(req_dev_extensions.size()),
|
||||||
.ppEnabledExtensionNames = required_extensions.data(),
|
.ppEnabledExtensionNames = req_dev_extensions.data(),
|
||||||
};
|
};
|
||||||
|
|
||||||
dev = phys_dev.createDevice(dev_info);
|
dev = phys_dev.createDevice(dev_info);
|
||||||
@ -168,9 +170,9 @@ Renderer::Renderer(Window& win) : win(win) {
|
|||||||
|
|
||||||
/* basic triangle */
|
/* basic triangle */
|
||||||
std::vector<Vertex> triangle = {
|
std::vector<Vertex> triangle = {
|
||||||
{{ 0.0, 0.5, 0.0 }},
|
{{ 1.0, 1.0, 0.0 }},
|
||||||
{{ 0.5, 0.0, 0.0 }},
|
{{-1.0, 1.0, 0.0 }},
|
||||||
{{ 0.5, 0.5, 0.0 }},
|
{{ 0.0,-1.0, 0.0 }},
|
||||||
};
|
};
|
||||||
|
|
||||||
vertex_buffer = std::make_unique<VertexBuffer>(phys_dev, dev, triangle.size());
|
vertex_buffer = std::make_unique<VertexBuffer>(phys_dev, dev, triangle.size());
|
||||||
@ -230,11 +232,13 @@ void Renderer::draw() {
|
|||||||
.pClearValues = clear_values,
|
.pClearValues = clear_values,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* flip viewport */
|
||||||
auto viewport = vk::Viewport{
|
auto viewport = vk::Viewport{
|
||||||
.x = 0.0f,
|
.x = 0.0f,
|
||||||
.y = 0.0f,
|
// .y = 0.0f,
|
||||||
|
.y = static_cast<float>(swapchain->extent.height),
|
||||||
.width = static_cast<float>(swapchain->extent.width),
|
.width = static_cast<float>(swapchain->extent.width),
|
||||||
.height = static_cast<float>(swapchain->extent.height),
|
.height = -static_cast<float>(swapchain->extent.height),
|
||||||
.minDepth = 0.0f,
|
.minDepth = 0.0f,
|
||||||
.maxDepth = 1.0f,
|
.maxDepth = 1.0f,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -7,5 +7,6 @@ layout (set = 0, binding = 0) uniform Matrices {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void main() {
|
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);
|
||||||
}
|
}
|
||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user