This commit is contained in:
Nick Thomas 2025-07-16 19:05:28 -04:00 committed by GitHub
commit 829b6d275c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 23 additions and 4 deletions

View File

@ -368,6 +368,9 @@ ico = ["bevy_internal/ico"]
# JPEG image format support
jpeg = ["bevy_internal/jpeg"]
# PCX image format support
pcx = ["bevy_internal/pcx"]
# PNG image format support
png = ["bevy_internal/png"]

View File

@ -26,6 +26,7 @@ hdr = ["image/hdr"]
ktx2 = ["dep:ktx2"]
ico = ["image/ico"]
jpeg = ["image/jpeg"]
pcx = ["image/pcx"]
png = ["image/png"]
pnm = ["image/pnm"]
qoi = ["image/qoi"]
@ -65,7 +66,7 @@ bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-fea
] }
# rendering
image = { version = "0.25.2", default-features = false }
image = { version = "*", git = "https://github.com/image-rs/image.git", default-features = false }
# misc
bitflags = { version = "2.3", features = ["serde"] }

View File

@ -60,6 +60,8 @@ pub enum ImageFormat {
Jpeg,
#[cfg(feature = "ktx2")]
Ktx2,
#[cfg(feature = "pcx")]
Pcx,
#[cfg(feature = "png")]
Png,
#[cfg(feature = "pnm")]
@ -110,10 +112,12 @@ impl ImageFormat {
ImageFormat::Jpeg => &["jpg", "jpeg"],
#[cfg(feature = "ktx2")]
ImageFormat::Ktx2 => &["ktx2"],
#[cfg(feature = "pnm")]
ImageFormat::Pnm => &["pam", "pbm", "pgm", "ppm"],
#[cfg(feature = "pcx")]
ImageFormat::Pcx => &["pcx"],
#[cfg(feature = "png")]
ImageFormat::Png => &["png"],
#[cfg(feature = "pnm")]
ImageFormat::Pnm => &["pam", "pbm", "pgm", "ppm"],
#[cfg(feature = "qoi")]
ImageFormat::Qoi => &["qoi"],
#[cfg(feature = "tga")]
@ -158,6 +162,8 @@ impl ImageFormat {
ImageFormat::Jpeg => &["image/jpeg"],
#[cfg(feature = "ktx2")]
ImageFormat::Ktx2 => &["image/ktx2"],
#[cfg(feature = "pcx")]
ImageFormat::Pcx => &["image/vnd.zbrush.pcx", "image/x-pcx"],
#[cfg(feature = "png")]
ImageFormat::Png => &["image/png"],
#[cfg(feature = "qoi")]
@ -209,6 +215,7 @@ impl ImageFormat {
"image/x-icon" => feature_gate!("ico", Ico),
"image/jpeg" => feature_gate!("jpeg", Jpeg),
"image/ktx2" => feature_gate!("ktx2", Ktx2),
"image/vnd.zbrush.pcx" | "image/x-pcx" => feature_gate!("pcx", Pcx),
"image/png" => feature_gate!("png", Png),
"image/qoi" | "image/x-qoi" => feature_gate!("qoi", Qoi),
"image/x-exr" => feature_gate!("exr", OpenExr),
@ -244,6 +251,7 @@ impl ImageFormat {
"jpg" | "jpeg" => feature_gate!("jpeg", Jpeg),
"ktx2" => feature_gate!("ktx2", Ktx2),
"pam" | "pbm" | "pgm" | "ppm" => feature_gate!("pnm", Pnm),
"pcx" => feature_gate!("pcx", Pcx),
"png" => feature_gate!("png", Png),
"qoi" => feature_gate!("qoi", Qoi),
"tga" => feature_gate!("tga", Tga),
@ -279,6 +287,8 @@ impl ImageFormat {
ImageFormat::Ico => image::ImageFormat::Ico,
#[cfg(feature = "jpeg")]
ImageFormat::Jpeg => image::ImageFormat::Jpeg,
#[cfg(feature = "pcx")]
ImageFormat::Pcx => image::ImageFormat::Pcx,
#[cfg(feature = "png")]
ImageFormat::Png => image::ImageFormat::Png,
#[cfg(feature = "pnm")]
@ -326,6 +336,7 @@ impl ImageFormat {
image::ImageFormat::Hdr => feature_gate!("hdr", Hdr),
image::ImageFormat::Ico => feature_gate!("ico", Ico),
image::ImageFormat::Jpeg => feature_gate!("jpeg", Jpeg),
image::ImageFormat::Pcx => feature_gate!("pcx", Pcx),
image::ImageFormat::Png => feature_gate!("png", Png),
image::ImageFormat::Pnm => feature_gate!("pnm", Pnm),
image::ImageFormat::Qoi => feature_gate!("qoi", Qoi),

View File

@ -30,6 +30,8 @@ impl ImageLoader {
ImageFormat::Jpeg,
#[cfg(feature = "ktx2")]
ImageFormat::Ktx2,
#[cfg(feature = "pcx")]
ImageFormat::Pcx,
#[cfg(feature = "png")]
ImageFormat::Png,
#[cfg(feature = "pnm")]

View File

@ -52,6 +52,7 @@ ff = ["bevy_image/ff"]
gif = ["bevy_image/gif"]
ico = ["bevy_image/ico"]
jpeg = ["bevy_image/jpeg"]
pcx = ["bevy_image/pcx"]
png = ["bevy_image/png"]
pnm = ["bevy_image/pnm"]
qoi = ["bevy_image/qoi"]

View File

@ -84,7 +84,7 @@ bevy_platform = { path = "../bevy_platform", version = "0.17.0-dev", default-fea
] }
# rendering
image = { version = "0.25.2", default-features = false }
image = { version = "*", git = "https://github.com/image-rs/image.git", default-features = false }
# misc
codespan-reporting = "0.12.0"

View File

@ -106,6 +106,7 @@ The default feature set enables most of the expected features of a game engine,
|pbr_multi_layer_material_textures|Enable support for multi-layer material textures in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs|
|pbr_specular_textures|Enable support for specular textures in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs|
|pbr_transmission_textures|Enable support for transmission-related textures in the `StandardMaterial`, at the risk of blowing past the global, per-shader texture limit on older/lower-end GPUs|
|pcx|PCX image format support|
|pnm|PNM image format support, includes pam, pbm, pgm and ppm|
|qoi|QOI image format support|
|reflect_documentation|Enable documentation reflection|