bevy_core_pipeline/fullscreen_vertex_shader/
mod.rs

1use bevy_asset::{weak_handle, Handle};
2use bevy_render::{prelude::Shader, render_resource::VertexState};
3
4pub const FULLSCREEN_SHADER_HANDLE: Handle<Shader> =
5    weak_handle!("481fb759-d0b1-4175-8319-c439acde30a2");
6
7/// uses the [`FULLSCREEN_SHADER_HANDLE`] to output a
8/// ```wgsl
9/// struct FullscreenVertexOutput {
10///     [[builtin(position)]]
11///     position: vec4<f32>;
12///     [[location(0)]]
13///     uv: vec2<f32>;
14/// };
15/// ```
16/// from the vertex shader.
17/// The draw call should render one triangle: `render_pass.draw(0..3, 0..1);`
18pub fn fullscreen_shader_vertex_state() -> VertexState {
19    VertexState {
20        shader: FULLSCREEN_SHADER_HANDLE,
21        shader_defs: Vec::new(),
22        entry_point: "fullscreen_vertex_shader".into(),
23        buffers: Vec::new(),
24    }
25}