bevy_render 0.15.0-rc.3

Provides rendering functionality for Bevy Engine
Documentation
[package]
name = "bevy_render"
version = "0.15.0-rc.3"
edition = "2021"
description = "Provides rendering functionality for Bevy Engine"
homepage = "https://bevyengine.org"
repository = "https://github.com/bevyengine/bevy"
license = "MIT OR Apache-2.0"
keywords = ["bevy"]

[features]
# Texture formats (require more than just image support)
basis-universal = ["bevy_image/basis-universal"]
dds = ["bevy_image/dds"]
exr = ["bevy_image/exr"]
hdr = ["bevy_image/hdr"]
ktx2 = ["dep:ktx2", "bevy_image/ktx2"]

multi_threaded = ["bevy_tasks/multi_threaded"]

shader_format_glsl = ["naga/glsl-in", "naga/wgsl-out", "naga_oil/glsl"]
shader_format_spirv = ["wgpu/spirv", "naga/spv-in", "naga/spv-out"]

# Enable SPIR-V shader passthrough
spirv_shader_passthrough = ["wgpu/spirv"]

trace = ["profiling"]
tracing-tracy = []
ci_limits = []
webgl = ["wgpu/webgl"]
webgpu = ["wgpu/webgpu"]
ios_simulator = []

[dependencies]
# bevy
bevy_app = { path = "../bevy_app", version = "0.15.0-rc.3" }
bevy_asset = { path = "../bevy_asset", version = "0.15.0-rc.3" }
bevy_color = { path = "../bevy_color", version = "0.15.0-rc.3", features = [
  "serialize",
  "wgpu-types",
] }
bevy_core = { path = "../bevy_core", version = "0.15.0-rc.3" }
bevy_derive = { path = "../bevy_derive", version = "0.15.0-rc.3" }
bevy_diagnostic = { path = "../bevy_diagnostic", version = "0.15.0-rc.3" }
bevy_ecs = { path = "../bevy_ecs", version = "0.15.0-rc.3" }
bevy_encase_derive = { path = "../bevy_encase_derive", version = "0.15.0-rc.3" }
bevy_hierarchy = { path = "../bevy_hierarchy", version = "0.15.0-rc.3" }
bevy_math = { path = "../bevy_math", version = "0.15.0-rc.3" }
bevy_reflect = { path = "../bevy_reflect", version = "0.15.0-rc.3", features = [
  "bevy",
] }
bevy_render_macros = { path = "macros", version = "0.15.0-rc.3" }
bevy_time = { path = "../bevy_time", version = "0.15.0-rc.3" }
bevy_transform = { path = "../bevy_transform", version = "0.15.0-rc.3" }
bevy_window = { path = "../bevy_window", version = "0.15.0-rc.3" }
bevy_utils = { path = "../bevy_utils", version = "0.15.0-rc.3" }
bevy_tasks = { path = "../bevy_tasks", version = "0.15.0-rc.3" }
bevy_image = { path = "../bevy_image", version = "0.15.0-rc.3" }
bevy_mesh = { path = "../bevy_mesh", version = "0.15.0-rc.3" }

# rendering
image = { version = "0.25.2", default-features = false }

# misc
codespan-reporting = "0.11.0"
# `fragile-send-sync-non-atomic-wasm` feature means we can't use Wasm threads for rendering
# It is enabled for now to avoid having to do a significant overhaul of the renderer just for wasm.
# When the 'atomics' feature is enabled `fragile-send-sync-non-atomic` does nothing
# and Bevy instead wraps `wgpu` types to verify they are not used off their origin thread.
wgpu = { version = "23", default-features = false, features = [
  "wgsl",
  "dx12",
  "metal",
  "naga-ir",
  "fragile-send-sync-non-atomic-wasm",
] }
naga = { version = "23", features = ["wgsl-in"] }
serde = { version = "1", features = ["derive"] }
bytemuck = { version = "1.5", features = ["derive", "must_cast"] }
downcast-rs = "1.2.0"
derive_more = { version = "1", default-features = false, features = [
  "error",
  "from",
  "display",
] }
futures-lite = "2.0.1"
ktx2 = { version = "0.3.0", optional = true }
encase = { version = "0.10", features = ["glam"] }
# For wgpu profiling using tracing. Use `RUST_LOG=info` to also capture the wgpu spans.
profiling = { version = "1", features = [
  "profile-with-tracing",
], optional = true }
async-channel = "2.3.0"
nonmax = "0.5"
smallvec = { version = "1.11", features = ["const_new"] }
offset-allocator = "0.2"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# Omit the `glsl` feature in non-WebAssembly by default.
naga_oil = { version = "0.16", default-features = false, features = [
  "test_shader",
] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
naga_oil = "0.16"
js-sys = "0.3"
web-sys = { version = "0.3.67", features = [
  'Blob',
  'Document',
  'Element',
  'HtmlElement',
  'Node',
  'Url',
  'Window',
] }
wasm-bindgen = "0.2"

[target.'cfg(all(target_arch = "wasm32", target_feature = "atomics"))'.dependencies]
send_wrapper = "0.6.0"

[lints]
workspace = true

[package.metadata.docs.rs]
rustdoc-args = ["-Zunstable-options", "--generate-link-to-definition"]
all-features = true