Skip to content
Snippets Groups Projects
Commit 610b8c63 authored by Alexander Gauggel's avatar Alexander Gauggel
Browse files

[#66] Fix triangle project main

parent e272189f
No related branches found
No related tags found
1 merge request!54Resolve "Cmd/Sync-Rework"
Pipeline #25444 passed
......@@ -79,9 +79,6 @@ int main(int argc, const char** argv) {
// an example attachment for passes that output to the window
const vkcv::AttachmentDescription present_color_attachment(
vkcv::AttachmentLayout::UNDEFINED,
vkcv::AttachmentLayout::COLOR_ATTACHMENT,
vkcv::AttachmentLayout::PRESENTATION,
vkcv::AttachmentOperation::STORE,
vkcv::AttachmentOperation::CLEAR,
core.getSwapchainImageFormat());
......@@ -103,21 +100,21 @@ int main(int argc, const char** argv) {
const vkcv::PipelineConfig trianglePipelineDefinition(
triangleShaderProgram,
windowWidth,
windowHeight,
(uint32_t)windowWidth,
(uint32_t)windowHeight,
trianglePass,
{},
{});
{},
false);
vkcv::PipelineHandle trianglePipeline = core.createGraphicsPipeline(trianglePipelineDefinition);
if (!trianglePipeline)
{
std::cout << "Error. Could not create graphics pipeline. Exiting." << std::endl;
return EXIT_FAILURE;
}
std::vector<vkcv::VertexBufferBinding> vertexBufferBindings;
/*
* BufferHandle triangleVertices = core.createBuffer(vertices);
* BufferHandle triangleIndices = core.createBuffer(indices);
......@@ -133,10 +130,15 @@ int main(int argc, const char** argv) {
*
* PipelineHandle trianglePipeline = core.CreatePipeline(trianglePipeline);
*/
auto start = std::chrono::system_clock::now();
auto start = std::chrono::system_clock::now();
vkcv::ImageHandle swapchainImageHandle = vkcv::ImageHandle::createSwapchainImageHandle();
const vkcv::Mesh renderMesh({}, triangleIndexBuffer.getVulkanHandle(), 3);
vkcv::DrawcallInfo drawcall(renderMesh, {});
const vkcv::ImageHandle swapchainInput = vkcv::ImageHandle::createSwapchainImageHandle();
while (window.isWindowOpen())
{
window.pollEvents();
......@@ -147,17 +149,18 @@ int main(int argc, const char** argv) {
cameraManager.getCamera().updateView(std::chrono::duration<double>(deltatime).count());
const glm::mat4 mvp = cameraManager.getCamera().getProjection() * cameraManager.getCamera().getView();
core.recordDrawcallsToCmdStream(
vkcv::PushConstantData pushConstantData((void*)&mvp, sizeof(glm::mat4));
auto cmdStream = core.createCommandStream(vkcv::QueueType::Graphics);
core.recordDrawcallsToCmdStream(
cmdStream,
trianglePass,
trianglePipeline,
sizeof(mvp),
&mvp,
vertexBufferBindings,
triangleIndexBuffer.getHandle(),
3,
vkcv::DescriptorSetHandle(),
0,
{swapchainImageHandle});
pushConstantData,
{ drawcall },
{ swapchainInput });
core.prepareSwapchainImageForPresent(cmdStream);
core.submitCommandStream(cmdStream);
core.endFrame();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment