SpiecsEngine
 
Loading...
Searching...
No Matches

◆ CreateRendererPass()

void Spices::RayTracingComposeRenderer::CreateRendererPass ( )
overrideprivatevirtual

The interface is inherited from Renderer. Create specific render pass.

Implements Spices::Renderer.

Definition at line 22 of file RayTracingComposeRenderer.cpp.

23 {
25
26 RendererPassBuilder{ "RayTracingCompose", this }
27 .AddSubPass("RayTracingCompose")
28 .AddColorAttachment("SceneColor", TextureType::Texture2D, [](bool& isEnableBlend, VkAttachmentDescription& description) {
29 description.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
30 description.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
31 description.format = VK_FORMAT_R16G16B16A16_SFLOAT;
32 })
33 .AddColorAttachment("EntityID", TextureType::Texture2D, [](bool& isEnableBlend, VkAttachmentDescription& description) {
34 description.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
35 description.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
36 description.format = VK_FORMAT_R32_SFLOAT;
37 })
38 .AddColorAttachment("TriangleID", TextureType::Texture2D, [](bool& isEnableBlend, VkAttachmentDescription& description) {
39 description.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
40 description.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
41 description.finalLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
42 })
43 .AddDepthAttachment("Depth", TextureType::Texture2D, [](VkAttachmentDescription& description) {
44 description.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; /* @attention It seams that layout transform is not work? */
45 description.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
46 })
47 .EndSubPass()
48 .Build();
49 }
#define SPICES_PROFILE_ZONE
friend class RendererPassBuilder
Definition Renderer.h:2053

References Spices::Renderer::RendererPassBuilder::AddSubPass(), Spices::Renderer::RendererPassBuilder::Build(), Spices::Renderer::RendererPassBuilder::EndSubPass(), and Spices::Texture2D.