2 releases

new 0.1.1 Jan 20, 2025
0.1.0 Jan 20, 2025

#12 in Rendering engine

33 downloads per month

MIT license

275KB
6K SLoC

Rust 3K SLoC // 0.0% comments WebGPU Shader Language 2.5K SLoC // 0.0% comments

block_compression

Crate API

Texture block compression using WGPU compute shader. The shaders are a port of Intel's ISPC Texture Compressor's kernel to WGSL compute shader.

Tested with the following backends:

  • DX12
  • Metal
  • Vulkan

Supported block compressions

Currently supported block compressions are:

  • BC1
  • BC2
  • BC3
  • BC4
  • BC5
  • BC6H
  • BC7

DX12 pipeline creation

The pipeline creation for BC7 and especially BC6H takes a long time under DX12. The DXC compiler seems to take a very long time to compile the shader. For this reason we moved them behind features, which are included in the default features.

License

This project is licensed under the MIT license.


lib.rs:

block_compression

Texture block compression using WGPU compute shader. The shaders are a port of Intel's ISPC Texture Compressor's kernel to WGSL compute shader.

Tested with the following backends:

  • DX12
  • Metal
  • Vulkan

DX12 pipeline creation

The pipeline creation for BC7 and especially BC6H takes a long time under DX12. The DXC compiler seems to take a very long time to compile the shader. For this reason we moved them behind features, which are included in the default features.

Supported block compressions

Currently supported block compressions are:

  • BC1
  • BC2
  • BC3
  • BC4
  • BC5
  • BC6H
  • BC7

Dependencies

~3–33MB
~483K SLoC