Выпущен Wgpu-0.10: реализация WebGPU теперь на чистом Rust

Цель сообщества gfx-rs – сделать программирование графики в Rust простым, быстрым и надежным. Наши основные проекты:

  • wgpu построен на основе wgpu-hal и наги. Он обеспечивает безопасность, доступность и переносимость графических приложений.
  • naga переводит шейдерные программы между языками, включая WGSL. Он также обеспечивает проверку и преобразование шейдеров, обеспечивая безопасность и эффективность пользовательского кода, выполняемого на графическом процессоре.

Если вы следя за этими выпусками, вы заметите, что gfx-hal отсутствует в этом списке. gfx-hal теперь устарел и заменен новым слоем абстракции внутри wgpu под названием wgpu-hal . Для получения дополнительной информации об устаревании см. Сообщение версии 0.9 .

После нашего выпуска частота кадров каждые несколько месяцев, мы выкатывали 0. 11 через все gfx- RS проекты! См. wgpu v0. 11 список изменений и журнал изменений naga v0.6 для получения подробной информации.

Графика Pure-Rust

wgpu имеет много новых изменений, наиболее заметным из которых является переход на наш новый уровень абстракции Harware wgpu-hal . Это включает в себя полностью перестроенные серверные части, которые стали более эффективными, простыми в обслуживании и значительно компактнее. В рамках этого мы избавились от нашей последней зависимости C / C ++ spirv-cross . Теперь мы полностью основаны на нагах для всего нашего перевода шейдеров. Это не только заметное достижение для графики ржавчины, но и сделало wgpu более безопасным и надежным.

Новый wgpu-hal :

  • Поддерживает Vulkan, D3D 12, Metal и OpenGL ES с D3D 12 в ближайшее время.
  • Имеет 60% меньше строк кода, чем gfx-hal (22 k LOC vs 60 k)
  • Карты лучше для широкого множество бэкэндов, которые нам необходимо поддерживать.

Другие заметные изменения в wgpu:

  • Множество улучшений API и исправлений ошибок.
  • Новая инфраструктура автоматического тестирования.

naga продолжала значительно развиваться с момента последнего выпуска :

  • вывод hlsl теперь поддерживается и работает хорошо.
  • wgsl при синтаксическом анализе было множество ошибок исправлено.
  • Поддержка синтаксического анализа spirv продолжается быть очень сложным, но постоянно улучшаться.
  • С wgpu-hal теперь зависит от наг, все пути кода прошли серьезную проверку.
  • Проверка стала более полной и правильной.

Запрос на тестирование

Это очень важный релиз для нас. Хотя мы уверены в своем коде и тщательно его протестировали, нам нужна помощь каждого в тестировании этого нового выпуска! Поэтому мы спрашиваем, могут ли люди обновиться до последней версии wgpu и сообщать нам о любых проблемах или проблемах, с которыми вы сталкиваетесь.

Если вы не уверены, что проблема, не стесняйтесь переходить на нашу матричный чат для обсуждения.

Спасибо!

Спасибо за бесчисленное количество участников, которые помогли с этим огромным выпускать! wgpu набирает обороты поистине невероятно благодаря каждому вкладу, и мы с нетерпением ждем возможности увидеть удивительные места, в которых wgpu превратится в проект. Если вы заинтересованы в помощи, взгляните на наши хорошие первые проблемы , наши проблемы с требуется помощь , или свяжитесь с нами по нашему матричный чат , мы всегда готовы помочь наставником впервые и вернувшимся участникам.

Дополнительно , спасибо всем пользователям, которые сообщают о новых проблемах, просят улучшить или тестируют git-версию wgpu. Продолжайте!

Удачного рендеринга!