This commit is contained in:
Jorijn van der Graaf 2025-05-08 01:13:59 +02:00
commit 0c6934023b
4 changed files with 59 additions and 64 deletions

View file

@ -47,8 +47,8 @@ int main() {
Camera camera(1.57079633, 16 / 9, 0.01, 512);
camera.Update();
VkCommandBuffer cmd = window.StartInit();
Mesh<VertexUV>* mesh = Mesh<VertexUV>::FromAssetUV(asset.entries[0].data.data());
MeshShader<VertexUV> meshShader(mesh, &camera);
Mesh<VertexUV> mesh = Mesh<VertexUV>(asset.entries[0].data.data());
MeshShader<VertexUV> meshShader(&mesh, &camera);
Asset asset2;
asset2.LoadFull("texture.cras");
VulkanTexture<Pixel_RU8_GU8_BU8_AU8>* txt = VulkanTexture<Pixel_RU8_GU8_BU8_AU8>::FromAsset(asset2.entries[0].data.data(), cmd);
@ -60,25 +60,25 @@ int main() {
});
meshShader.WriteDescriptors(&descriptors.set[0]);
texShader.WriteDescriptors(&descriptors.set[0]);
MeshShader<VertexUV> meshShader2(mesh, &camera);
TextureShader texShader2(txt);
DescriptorSet<MeshVulkanShader, FragmentShader> descriptors2;
meshShader2.WriteDescriptors(&descriptors2.set[0]);
texShader2.WriteDescriptors(&descriptors2.set[0]);
// MeshShader<VertexUV> meshShader2(&mesh, &camera);
// TextureShader texShader2(txt);
// DescriptorSet<MeshVulkanShader, FragmentShader> descriptors2;
// meshShader2.WriteDescriptors(&descriptors2.set[0]);
// texShader2.WriteDescriptors(&descriptors2.set[0]);
meshShader.Update();
meshShader2.Update();
//meshShader2.Update();
window.FinishInit();
EventListener<VkCommandBuffer> listener(&window.onDraw, [&descriptors, &meshShader, &descriptors2, &meshShader2](VkCommandBuffer cmd){
EventListener<VkCommandBuffer> listener(&window.onDraw, [&descriptors, &meshShader](VkCommandBuffer cmd){
vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, Pipeline::pipelineLayout, 0, 2, &descriptors.set[0], 0, NULL);
vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, Pipeline::pipeline);
VulkanDevice::vkCmdDrawMeshTasksEXTProc(cmd, meshShader.threadCount, 1, 1);
vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, Pipeline::pipelineLayout, 0, 2, &descriptors2.set[0], 0, NULL);
vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, Pipeline::pipeline);
VulkanDevice::vkCmdDrawMeshTasksEXTProc(cmd, meshShader2.threadCount, 1, 1);
// vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, Pipeline::pipelineLayout, 0, 2, &descriptors2.set[0], 0, NULL);
// vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, Pipeline::pipeline);
// VulkanDevice::vkCmdDrawMeshTasksEXTProc(cmd, meshShader2.threadCount, 1, 1);
});
window.Start();