Skip to content

adrianperreault/gfx

 
 

Repository files navigation

Travis Build Status AppVeyor Build Status Gitter Chat
Documentation | Blog

gfx-rs

gfx-rs is a graphics abstraction library in Rust. It consists of the following layers/components:

  • gfx-hal: hardware abstraction layer - a Vulkan-ic mostly unsafe API translating to native graphics backends.
  • gfx-backend-*: graphics backends for various platforms, include the windowing logic.
  • gfx-warden: data-driven reference test framework.

pre-LL

If you are looking for information about the released crates (gfx_core, gfx, gfx_device_*, gfx_window_, etc), they are being developed and published from the pre-ll branch. Code in master is a complete rewrite that will be shipped in different crates.

Features

Native API backends:

Dependencies

For Fedora

sudo dnf install -y libX11-devel vulkan

Usage

You can run the examples this way:

Note: dx12 works only in windows.

git clone https://github.com/gfx-rs/gfx
cd gfx/examples/hal
cargo run --bin quad --features vulkan
cargo run --bin compute --features dx12 1 2 3 4

The native API backend is selected by one of the features: vulkan, dx12, metal, or gl.

License

This repository is currently in the process of being licensed under either of

at your option. Some parts of the repository are already licensed according to those terms. See the tracking issue.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

A high-performance, bindless graphics API for Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.8%
  • Other 0.2%