8 releases (breaking)

0.7.0 Dec 1, 2024
0.6.0 Jul 5, 2024
0.5.0 Feb 20, 2024
0.4.0 Nov 6, 2023
0.1.1 Jan 30, 2023

#50 in Rendering

Download history 5/week @ 2024-09-22 1/week @ 2024-09-29 4/week @ 2024-11-03 124/week @ 2024-12-01

124 downloads per month

MIT/Apache

44KB
501 lines

crates.io MIT/Apache 2.0 crates.io CI Documentation

bevy_nokhwa


preview

A bevy plugin using nokhawa.

This plugin allows you to render Camera Capture at background.

Showcase

use bevy::prelude::*;
use bevy_nokhwa::BevyNokhwaPlugin;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(BevyNokhwaPlugin)
        .add_startup_system(setup_camera)
        .run();
}


fn setup_camera(
    mut commands: Commands,
    mut meshes: ResMut<Assets<Mesh>>,
    mut materials: ResMut<Assets<StandardMaterial>>,
) {
    commands
        .spawn(Camera3dBundle {
            camera_3d: Camera3d {
                // IMPORTANT! Need to set clear_color to None
                clear_color: ClearColorConfig::None,
                ..default()
            },
            transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
            ..Default::default()
        })
        // auto find camera and use highest resolution 
        // .insert(BackgroundCamera::auto())
        .insert(BackgroundCamera::new(
            ApiBackend::Auto,
            Some(CameraIndex::Index(0)),
            Some(RequestedFormatType::Closest(CameraFormat::new(
                Resolution::new(640, 480),
                FrameFormat::MJPEG,
                30,
            ))),
        ));
}

Support

Bevy tracking

bevy bevy_nokhwa
0.15 0.7
0.14 0.6
0.13 0.5
0.12 0.4
0.11 0.3
0.10 0.2
0.9 0.1

Licensing

The project is under dual license MIT and Apache 2.0, so join to your hearts content, just remember the license agreements.

Contributing

Yes this project is still very much WIP, so PRs are very welcome

Dependencies

~44–82MB
~1.5M SLoC