- Notifications
You must be signed in to change notification settings - Fork11
Toon Shader for the bevy game engine
License
Apache-2.0, MIT licenses found
Licenses found
Apache-2.0
LICENSE-APACHEMIT
LICENSE-MITNotificationsYou must be signed in to change notification settings
tbillington/bevy_toon_shader
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Atoon shader for theBevy game engine.
Features
- "Sun" color & direction
- Specular highlight
- Light banding
- Shadow casting
- Albedo map (base color texture)
Not supported (yet)
- Dynamic color banding amount
- Shadow receiving
- Rim lighting
cargo add bevy_toon_shader
use bevy::prelude::*;use bevy_toon_shader::{ToonShaderMainCamera,ToonShaderMaterial,ToonShaderPlugin,ToonShaderSun};fnmain(){App::new().add_plugins(DefaultPlugins).add_plugin(ToonShaderPlugin).add_systems(Startup, setup).run();}fnsetup(mutcommands:Commands,mutmeshes:ResMut<Assets<Mesh>>,muttoon_materials:ResMut<Assets<ToonShaderMaterial>>,){// Camera commands.spawn((Camera3dBundle{/* ... */},ToonShaderMainCamera,));// Sun commands.spawn((DirectionalLightBundle{/* ... */},ToonShaderSun,));// Ambient light commands.insert_resource(AmbientLight{color:Color::GRAY*0.2, ..default()});let material = toon_materials.add(ToonShaderMaterial::default());// 3D object commands.spawn(MaterialMeshBundle{mesh: meshes.add(Mesh::try_from(shape::Torus::default()).unwrap()),transform:Transform::from_xyz(0.,2.,0.),material: toon_material, ..default()});}
git clone https://github.com/tbillington/bevy_toon_shader.gitcd bevy_toon_shadercargo run --example scene
bevy | bevy_toon_shader |
---|---|
0.12 | 0.3 |
0.11 | 0.2 |
0.10 | 0.1 |
Code initially adapted from thisexcellent Unity tutorial by Roystan.
Except where noted, all code in this repository is dual-licensed under either:
- MIT License (LICENSE-MIT orhttp://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE orhttp://www.apache.org/licenses/LICENSE-2.0)
at your option.This means you can select the license you prefer!This dual-licensing approach is the de-facto standard in the Rust ecosystem and there arevery good reasons to include both.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
About
Toon Shader for the bevy game engine
Topics
Resources
License
Apache-2.0, MIT licenses found
Licenses found
Apache-2.0
LICENSE-APACHEMIT
LICENSE-MIT