 0529f633f9
			
		
	
	
		0529f633f9
		
	
	
	
	
		
			
			# Objective - Support compressed textures including 'universal' formats (ETC1S, UASTC) and transcoding of them to - Support `.dds`, `.ktx2`, and `.basis` files ## Solution - Fixes https://github.com/bevyengine/bevy/issues/3608 Look there for more details. - Note that the functionality is all enabled through non-default features. If it is desirable to enable some by default, I can do that. - The `basis-universal` crate, used for `.basis` file support and for transcoding, is built on bindings against a C++ library. It's not feasible to rewrite in Rust in a short amount of time. There are no Rust alternatives of which I am aware and it's specialised code. In its current state it doesn't support the wasm target, but I don't know for sure. However, it is possible to build the upstream C++ library with emscripten, so there is perhaps a way to add support for web too with some shenanigans. - There's no support for transcoding from BasisLZ/ETC1S in KTX2 files as it was quite non-trivial to implement and didn't feel important given people could use `.basis` files for ETC1S.
		
			
				
	
	
	
		
			2.4 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			2.4 KiB
		
	
	
	
	
	
	
	
Cargo Features
Default Features
| feature name | description | 
|---|---|
| bevy_audio | Audio support. Support for all audio formats depends on this. | 
| bevy_gilrs | Adds gamepad support. | 
| bevy_gltf | glTF support. | 
| bevy_winit | GUI support. | 
| render | The render pipeline and all render related plugins. | 
| png | PNG picture format support. | 
| hdr | HDR support. | 
| vorbis | Ogg Vorbis audio format support. | 
| x11 | Make GUI applications use X11 protocol. You could enable wayland feature to override this. | 
| filesystem_watcher | Enable watching the file system for asset hot reload | 
Optional Features
| feature name | description | 
|---|---|
| bevy_dynamic_plugin | Plugin for dynamic loading (using libloading). | 
| dynamic | Forces bevy to be dynamically linked, which improves iterative compile times. | 
| trace | Enables system tracing. | 
| trace_chrome | Enables tracing-chrome as bevy_log output. This allows you to visualize system execution. | 
| trace_tracy | Enables Tracy as bevy_log output. This allows Tracyto connect to and capture profiling data as well as visualize system execution in real-time, present statistics about system execution times, and more. | 
| wgpu_trace | For tracing wgpu. | 
| dds | DDS picture format support. | 
| ktx2 | KTX2 picture format support. | 
| zlib | KTX2 Zlib supercompression support. | 
| zstd | KTX2 Zstandard supercompression support. | 
| basis-universal | Basis Universal picture format support and, if the ktx2feature is enabled, also KTX2 UASTC picture format transcoding support. | 
| tga | TGA picture format support. | 
| jpeg | JPEG picture format support. | 
| bmp | BMP picture format support. | 
| flac | FLAC audio format support. It's included in bevy_audio feature. | 
| mp3 | MP3 audio format support. | 
| wav | WAV audio format support. | 
| serialize | Enables serialization of bevy_inputtypes. | 
| wayland | Enable this to use Wayland display server protocol other than X11. | 
| subpixel_glyph_atlas | Enable this to cache glyphs using subpixel accuracy. This increases texture memory usage as each position requires a separate sprite in the glyph atlas, but provide more accurate character spacing. | 
| bevy_ci_testing | Used for running examples in CI. | 
| debug_asset_server | Enabling this turns on "hot reloading" of built in assets, such as shaders. |