fix a few things in shader examples
This commit is contained in:
parent
e89c693c4d
commit
0931fd0266
@ -1,4 +1,5 @@
|
||||
use bevy::prelude::*;
|
||||
use bevy_render::base_render_graph;
|
||||
|
||||
fn main() {
|
||||
App::build()
|
||||
@ -46,26 +47,32 @@ fn setup(
|
||||
mut materials: ResMut<Assets<MyMaterial>>,
|
||||
mut render_graph: ResMut<RenderGraph>,
|
||||
) {
|
||||
// create new shader pipeline and add to main pass in Render Graph
|
||||
let pipeline_handle = {
|
||||
let pipeline_handle = pipelines.add(PipelineDescriptor::default_config(ShaderStages {
|
||||
vertex: shaders.add(Shader::from_glsl(ShaderStage::Vertex, VERTEX_SHADER)),
|
||||
fragment: Some(shaders.add(Shader::from_glsl(ShaderStage::Fragment, FRAGMENT_SHADER))),
|
||||
}));
|
||||
// Create a new shader pipeline
|
||||
let pipeline_handle = pipelines.add(PipelineDescriptor::default_config(ShaderStages {
|
||||
vertex: shaders.add(Shader::from_glsl(ShaderStage::Vertex, VERTEX_SHADER)),
|
||||
fragment: Some(shaders.add(Shader::from_glsl(ShaderStage::Fragment, FRAGMENT_SHADER))),
|
||||
}));
|
||||
|
||||
render_graph.add_system_node(
|
||||
"my_material",
|
||||
AssetRenderResourcesNode::<MyMaterial>::new(true),
|
||||
);
|
||||
pipeline_handle
|
||||
};
|
||||
// Add an AssetRenderResourcesNode to our Render Graph. This will bind MyMaterial resources to our shader
|
||||
render_graph.add_system_node(
|
||||
"my_material",
|
||||
AssetRenderResourcesNode::<MyMaterial>::new(true),
|
||||
);
|
||||
|
||||
// create materials
|
||||
// Add a Render Graph edge connecting our new "my_material" node to the main pass node
|
||||
render_graph
|
||||
.add_node_edge("my_material", base_render_graph::node::MAIN_PASS)
|
||||
.unwrap();
|
||||
|
||||
// Create a new material
|
||||
let material = materials.add(MyMaterial {
|
||||
color: Color::rgb(0.0, 0.8, 0.0),
|
||||
});
|
||||
|
||||
// Create a cube mesh which will use our material
|
||||
let cube_handle = meshes.add(Mesh::from(shape::Cube { size: 1.0 }));
|
||||
|
||||
// Setup our world
|
||||
command_buffer
|
||||
.build()
|
||||
// cube
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
use bevy::{prelude::*, render::shader};
|
||||
use bevy_render::base_render_graph;
|
||||
|
||||
fn main() {
|
||||
App::build()
|
||||
@ -57,30 +58,36 @@ fn setup(
|
||||
mut materials: ResMut<Assets<MyMaterial>>,
|
||||
mut render_graph: ResMut<RenderGraph>,
|
||||
) {
|
||||
// create new shader pipeline and add to main pass in Render Graph
|
||||
let pipeline_handle = {
|
||||
let pipeline_handle = pipelines.add(PipelineDescriptor::default_config(ShaderStages {
|
||||
vertex: shaders.add(Shader::from_glsl(ShaderStage::Vertex, VERTEX_SHADER)),
|
||||
fragment: Some(shaders.add(Shader::from_glsl(ShaderStage::Fragment, FRAGMENT_SHADER))),
|
||||
}));
|
||||
render_graph.add_system_node(
|
||||
"my_material",
|
||||
AssetRenderResourcesNode::<MyMaterial>::new(true),
|
||||
);
|
||||
pipeline_handle
|
||||
};
|
||||
// Create a new shader pipeline
|
||||
let pipeline_handle = pipelines.add(PipelineDescriptor::default_config(ShaderStages {
|
||||
vertex: shaders.add(Shader::from_glsl(ShaderStage::Vertex, VERTEX_SHADER)),
|
||||
fragment: Some(shaders.add(Shader::from_glsl(ShaderStage::Fragment, FRAGMENT_SHADER))),
|
||||
}));
|
||||
|
||||
// create materials
|
||||
// Add an AssetRenderResourcesNode to our Render Graph. This will bind MyMaterial resources to our shader
|
||||
render_graph.add_system_node(
|
||||
"my_material",
|
||||
AssetRenderResourcesNode::<MyMaterial>::new(true),
|
||||
);
|
||||
|
||||
// Add a Render Graph edge connecting our new "my_material" node to the main pass node
|
||||
render_graph
|
||||
.add_node_edge("my_material", base_render_graph::node::MAIN_PASS)
|
||||
.unwrap();
|
||||
|
||||
// Create a green material
|
||||
let green_material = materials.add(MyMaterial {
|
||||
color: Color::rgb(0.0, 0.8, 0.0),
|
||||
always_red: false,
|
||||
});
|
||||
|
||||
// Create a red material, which uses our "always_red" shader def
|
||||
let red_material = materials.add(MyMaterial {
|
||||
color: Color::rgb(0.0, 0.0, 0.0),
|
||||
always_red: true,
|
||||
});
|
||||
|
||||
// Create a cube mesh which will use our materials
|
||||
let cube_handle = meshes.add(Mesh::from(shape::Cube { size: 1.0 }));
|
||||
|
||||
command_buffer
|
||||
|
||||
Loading…
Reference in New Issue
Block a user