bevy/crates/bevy_render/src/pass/pass.rs
2020-04-24 17:57:20 -07:00

42 lines
1.3 KiB
Rust

use super::{LoadOp, StoreOp};
use crate::{render_resource::RenderResource, Color};
pub enum TextureAttachment {
RenderResource(RenderResource),
Name(String),
Input(String),
}
pub struct RenderPassColorAttachmentDescriptor {
/// The actual color attachment.
pub attachment: TextureAttachment,
/// The resolve target for this color attachment, if any.
pub resolve_target: Option<TextureAttachment>,
/// The beginning-of-pass load operation for this color attachment.
pub load_op: LoadOp,
/// The end-of-pass store operation for this color attachment.
pub store_op: StoreOp,
/// The color that will be assigned to every pixel of this attachment when cleared.
pub clear_color: Color,
}
pub struct RenderPassDepthStencilAttachmentDescriptor {
pub attachment: TextureAttachment,
pub depth_load_op: LoadOp,
pub depth_store_op: StoreOp,
pub clear_depth: f32,
pub stencil_load_op: LoadOp,
pub stencil_store_op: StoreOp,
pub clear_stencil: u32,
}
// A set of pipeline bindings and draw calls with color and depth outputs
pub struct PassDescriptor {
pub color_attachments: Vec<RenderPassColorAttachmentDescriptor>,
pub depth_stencil_attachment: Option<RenderPassDepthStencilAttachmentDescriptor>,
pub sample_count: u32,
}