basic_bevy_pixel_camera/
pixel_image.rs1use bevy::{
2 prelude::*,
3 render::{
4 render_resource::{
5 Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages,
6 },
7 texture::{ImageSampler, ImageSamplerDescriptor},
8 },
9};
10
11pub fn create_pixel_image(mut images: ResMut<Assets<Image>>) -> Handle<Image> {
12 let image = Image {
13 texture_descriptor: TextureDescriptor {
14 label: None,
15 size: Extent3d::default(),
16 dimension: TextureDimension::D2,
17 format: TextureFormat::Bgra8UnormSrgb,
18 mip_level_count: 1,
19 sample_count: 1,
20 usage: TextureUsages::TEXTURE_BINDING
21 | TextureUsages::COPY_DST
22 | TextureUsages::RENDER_ATTACHMENT,
23 view_formats: &[],
24 },
25 sampler: ImageSampler::Descriptor(ImageSamplerDescriptor::nearest()),
26 ..default()
27 };
28
29 images.add(image)
30}