"Этот год в gfx-rs" и публикация gfx-hal v0.1 на crates.io


#1

https://gfx-rs.github.io/2018/12/27/this-year.html - короткая заметка про итоги года для проекта gfx-rs от Димы&Ко. Настолько короткая, что я ее тут даже процитирую целиком, пожалуй:

This Year in Gfx-rs - 2018

27 Dec 2018

In 2018 the project left the nursery and entered the adolescence period:

  • we established the gfx-portability project
  • we optimized the Metal backend and challenged MoltenVK for Dota2 performance
  • @fkaa successfully implemented DX11 backend during GSoC
  • we collaborated with Dolphin and RPCS3 to extend their support on Macs
  • we debated the philosophy of life abstraction level
  • Szeged team ported WebRender over and got Firefox and Servo running on gfx-hal

Our API has settled to be at the lowest level, practically matching Vulkan semantics now, and became completely unsafe. To compensate for this, we have started WebGPU implementation with the idea of it becoming the lowest safe graphics abstraction that is a pleasure to use directly when targeting either native platforms or the future Web. Crossing fingers to tell you more about its progress in 2019 :wink:

And for the logical conclusion, with help from relentless @omni-viral, we have finally published the new crates! This isn’t the end, it’s the beginning of adult life for the project. We are looking forward to see Amethyst, ggez, and potentially other community efforts taking advantage of our graphics abstraction.


Так же, на crates.io была опубликована v0.1 версия пакета gfx-hal - https://crates.io/crates/gfx-hal! (до этого, использовать gfx-hal можно было только через указание гитхаб репозитория в Cargo.toml).

The Hardware Abstraction Layer (HAL), is a thin, low-level graphics layer which translates API calls to various graphics backends, which allows for cross-platform support. The API of this layer is based on the Vulkan API, adapted to be more Rust-friendly.

Hardware Abstraction Layer (HAL)

Currently HAL has backends for Vulkan, DirectX 12, Metal, and OpenGL/OpenGL ES/WebGL.

The HAL layer is consumed directly by user applications or libraries. HAL is also used in efforts such as gfx-portability.