| Crates.io | bevy_old_tv_shader |
| lib.rs | bevy_old_tv_shader |
| version | 0.4.0 |
| created_at | 2025-12-12 00:25:49.326289+00 |
| updated_at | 2025-12-12 01:05:44.84907+00 |
| description | An "old TV" effect based on the Bevy post-processing example. |
| homepage | |
| repository | https://github.com/Defernus/bevy_old_tv_shader |
| max_upload_size | |
| id | 1980790 |
| size | 169,591 |
An "old TV" effect based on the Bevy post-processing example.
To use this effect, add the crate to your project.
cargo add --git https://github.com/Defernus/bevy_old_tv_shader.git
# use bevy::prelude::*;
# use bevy_old_tv_shader::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, OldTvPlugin))
.update();
}
This effect will only appear on cameras with an OldTvSettings component.
# use bevy::prelude::*;
# use bevy_old_tv_shader::prelude::*;
fn setup_camera(mut commands: Commands) {
// camera
commands.spawn((
Camera3d::default(),
OldTvSettings {
screen_shape_factor: 0.2,
rows: 64.0,
brightness: 3.0,
edges_transition_size: 0.025,
channels_mask_min: 0.1,
},
));
}
Applies the effect to the UI and text as well.
The "cube" example shows a rotating cube with the effect (shown above).
cargo run --example cube
The "shapes" example shows 2d shapes.
cargo run --example shapes
The "text" example shows UI text with or without the effect.
cargo run --example text
cargo run --features ui --example text
The "text" example also accepts an argument of "3d-camera". This was mainly used to spotcheck that the effect worked with a 3d camera.
cargo run --features ui --example text 3d-camera
| bevy_old_tv_shader | bevy |
|---|---|
| 0.4.0 | 0.17 |
| 0.3.0 | 0.16 |
| 0.2.0 | 0.15 |
| 0.1.0 | 0.8 |
This crate is licensed under the MIT License.