#include #include #include #include import Crafter.Graphics; using namespace Crafter; typedef VulkanShader<"test.spirv", "main", VK_SHADER_STAGE_MESH_BIT_EXT, 1, {{VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0}}> MeshShader; typedef VulkanShader<"test2.spirv", "main", VK_SHADER_STAGE_FRAGMENT_BIT, 0, {}> FragmentShader; typedef VulkanPipeline, VulkanShader<"test2.spirv", "main", VK_SHADER_STAGE_FRAGMENT_BIT, 0, {}>> Pipeline; int main() { // WindowWaylandWayland window("test", 128, 128); // UiElement test( // 0.5, //anchorX // 0.5, //anchorY // 2, //bufferWidth // 1, //bufferHeight // std::uint32_t(30), //absoluteSizeX // std::uint32_t(30), //absoluteSizeY // 0.5, //anchorOffsetX // 0.5, //anchorOffsetY // 0, //z // false //ignoreScaling // ); // window.scale = 1; // test.buffer = {{255, 0, 0 ,255}, {0, 255, 0 ,255}}; // window.elements.AddComponent(&test); // window.Start(); // while(true) { // } //WriteDescriptor(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &uniformBuffer.descriptor); VulkanDevice::CreateDevice(); WindowWaylandVulkan window("Crafter.Graphics", 128, 128); MeshShader::CreateShader(); FragmentShader::CreateShader(); Pipeline::CreatePipeline(); VulkanElement test = VulkanElementFromPipeline(3, 1, 1); Camera camera; test.WriteDescriptor(0, VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 0, &camera.buffer.descriptor); window.vulkanElements.AddComponent(&test); window.Start(); while(true) { } }