#bevy #graphics #shader #gamedev #game-engine #object

bevy_terminal_shader

为bevy游戏引擎的老式终端着色器

2个不稳定版本

0.2.0 2024年7月23日
0.1.0 2024年1月9日

#1187 in 游戏开发

Download history 133/week @ 2024-07-23 9/week @ 2024-07-30

142 每月下载量

MIT OR Apache-2.0 OR CC0-1.0

1.5MB
99

bevy_terminal_shader

Maintenance CI crates-io api-docs

这个crate提供了一个老式终端样式,或示波器效果,可以应用于bevy游戏引擎上的2D和3D对象。

Terminal shader example

安装

cargo add bevy_terminal_shader

用法

将插件添加到应用程序

use bevy::prelude::*;
fn main() {
    App::new()
        .add_plugins(bevy_terminal_shader::TerminalShaderPlugin)
        .run()
}

将设置添加到相机

use bevy::prelude::*;

fn setup(
    mut commands: Commands,
    mut meshes: ResMut<Assets<Mesh>>,
    mut materials: ResMut<Assets<TerminalMaterial>>) {
    commands.spawn(Camera2dBundle::default());
    
    commands.spawn(MaterialMesh2dBundle {
        mesh: meshes
            .add(shape::Quad::new(Vec2::new(1300., 800.)).into())
            .into(),
        material: materials.add(TerminalMaterial::green()),
        ..default()
    });

示例

像这样运行"quad"示例

cargo run --example quad

这会显示一个类似于本README开头所示的大四边形。

cargo run --example cube

这将显示一个旋转的立方体,其表面使用着色器。

待办事项

  • 考虑将crate重命名为bevy_oscilloscope_shader

兼容性

bevy_terminal_shader bevy
0.2 0.14
0.1 0.12.1

许可证

此crate受MIT许可证、Apache许可证2.0或CC0许可证的许可。

致谢

依赖

~38–74MB
~1.5M SLoC