• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2016 The vulkano developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or
4 // https://www.apache.org/licenses/LICENSE-2.0> or the MIT
5 // license <LICENSE-MIT or https://opensource.org/licenses/MIT>,
6 // at your option. All files in the project carrying such
7 // notice may not be copied, modified, or distributed except
8 // according to those terms.
9 
10 //! Description of the steps of the rendering process, and the images used as input or output.
11 //!
12 //! # Render passes and framebuffers
13 //!
14 //! There are two concepts in Vulkan:
15 //!
16 //! - A *render pass* describes the overall process of drawing a frame. It is subdivided into one
17 //!   or more subpasses.
18 //! - A *framebuffer* contains the list of image views that are attached during the drawing of
19 //!   each subpass.
20 //!
21 //! Render passes are typically created at initialization only (for example during a loading
22 //! screen) because they can be costly, while framebuffers can be created and destroyed either at
23 //! initialization or during the frame.
24 //!
25 //! Consequently you can create graphics pipelines from a render pass object alone.
26 //! A `Framebuffer` object is only needed when you actually add draw commands to a command buffer.
27 
28 pub use self::attachments_list::AttachmentsList;
29 pub use self::compat_atch::ensure_image_view_compatible;
30 pub use self::compat_atch::IncompatibleRenderPassAttachmentError;
31 pub use self::desc::AttachmentDesc;
32 pub use self::desc::LoadOp;
33 pub use self::desc::MultiviewDesc;
34 pub use self::desc::RenderPassDesc;
35 pub use self::desc::ResolveMode;
36 pub use self::desc::ResolveModes;
37 pub use self::desc::StoreOp;
38 pub use self::desc::SubpassDependencyDesc;
39 pub use self::desc::SubpassDesc;
40 pub use self::framebuffer::Framebuffer;
41 pub use self::framebuffer::FramebufferAbstract;
42 pub use self::framebuffer::FramebufferBuilder;
43 pub use self::framebuffer::FramebufferCreationError;
44 pub use self::framebuffer::FramebufferSys;
45 pub use self::render_pass::RenderPass;
46 pub use self::render_pass::RenderPassCreationError;
47 pub use self::render_pass::RenderPassSys;
48 pub use self::render_pass::Subpass;
49 
50 #[macro_use]
51 mod macros;
52 mod attachments_list;
53 mod compat_atch;
54 mod desc;
55 mod framebuffer;
56 mod render_pass;
57