Skip to content

Commit ebf59ab

Browse files
committed
Newsletter 8: gfx&wgpu: Style fixes
1 parent 03097bf commit ebf59ab

File tree

1 file changed

+70
-33
lines changed

1 file changed

+70
-33
lines changed

content/posts/newsletter-008/index.md

+70-33
Original file line numberDiff line numberDiff line change
@@ -68,36 +68,70 @@ keep the other players from getting to theirs.
6868

6969
### gfx-rs and wgpu news
7070

71-
[gfx-hal-0.5](https://github.com/gfx-rs/gfx/) was released :tada:
71+
[gfx-hal-0.5](https://github.com/gfx-rs/gfx/) was released!
7272
Improvements done in March:
73-
- Debug markers. Users are now able to debug-annotate parts of the rendered frame, so that inspecting it in a GPU debugger is more enjoyable.
74-
- The generic range parameters are removed in favor of simple structs. This is a move towards simpler low-level API.
75-
- Physical device features for NDC Y-flip and sampler mirror clamp are added
76-
- Physical device performance hints are introduced. The first hint is for "base vertex/instance" support.
77-
- `SmallVec` is removed from the API, it's reshaped to avoid any heap allocations. Previously, it had to touch the heap on multiple descriptor sets or command buffers.
78-
- DX12 got true support for read-only storage bindings. This is one of the opt-in derivations from Vulkan that allow to better map users logic to non-Vulkan backends, also used by WebGPU.
79-
- Last but not the least, @zicklag [has been fighting](https://github.com/gfx-rs/gfx/pull/3151) with the OpenGL backend to align its API with the rest of the crowd, armed with [surfman](https://github.com/pcwalton/surfman). The fight is reading conclusion, and we are crossing fingers to add OpenGL support to `wgpu-rs` as it lands.
80-
81-
[wgpu](https://github.com/gfx-rs/wgpu) and [wgpu-rs](https://github.com/gfx-rs/wgpu-rs) changes in March:
82-
- @grovesNL reached an epic milestone in the Web target by showing the [first triangle](https://github.com/gfx-rs/wgpu-rs/pull/193#issuecomment-599156540). Users will soon be able to seamlessly target the web with their existing `wgpu-rs` applications :rocket:
83-
- `wgpu-types` crate is created to share types between the Web target and the native one.
84-
- @lachlansneff improved the _async_ story quite a bit, we also converted more methods to be asynchronous.
85-
- Debug labels support.
86-
- Id management story for browsers with a GPU process has been completely redesigned and now working well.
87-
- All the objects are properly destroyed and GPU tracked if needed.
88-
- Ability to provide a `Surface` so that the selected adapter can present to it.
89-
- New "mailbox" present mode.
73+
74+
- Debug markers.
75+
Users are now able to debug-annotate parts of the rendered frame,
76+
so that inspecting it in a GPU debugger is more enjoyable.
77+
- The generic range parameters are removed in favor of simple structs.
78+
This is a move towards simpler low-level API.
79+
- Physical device features for NDC Y-flip and sampler mirror clamp are added.
80+
- Physical device performance hints are introduced.
81+
The first hint is for "base vertex/instance" support.
82+
- `SmallVec` is removed from the API, it's reshaped
83+
to avoid any heap allocations.
84+
Previously, it had to touch the heap on multiple descriptor sets
85+
or command buffers.
86+
- DX12 got true support for read-only storage bindings.
87+
This is one of the opt-in derivations from Vulkan that allow to better map
88+
users logic to non-Vulkan backends, also used by WebGPU.
89+
- Last but not the least, @zicklag
90+
[has been fighting](https://github.com/gfx-rs/gfx/pull/3151)
91+
with the OpenGL backend to align its API with the rest of the crowd,
92+
armed with [surfman](https://github.com/pcwalton/surfman).
93+
The fight is reading conclusion, and we are crossing fingers
94+
to add OpenGL support to `wgpu-rs` as it lands.
95+
96+
[wgpu](https://github.com/gfx-rs/wgpu) and
97+
[wgpu-rs](https://github.com/gfx-rs/wgpu-rs) changes in March:
98+
99+
- @grovesNL reached an epic milestone in the Web target
100+
by showing the [first triangle][wgpu-web-triangle].
101+
Users will soon be able to seamlessly target the web
102+
with their existing `wgpu-rs` applications. 🚀
103+
- `wgpu-types` crate is created to share types between the Web target
104+
and the native one.
105+
- @lachlansneff improved the _async_ story quite a bit,
106+
we also converted more methods to be asynchronous.
107+
- Debug labels support.
108+
- Id management story for browsers with a GPU process
109+
has been completely redesigned and now working well.
110+
- All the objects are properly destroyed and GPU tracked if needed.
111+
- Ability to provide a `Surface` so that the selected adapter can present to it.
112+
- New "mailbox" present mode.
90113

91114
Satellite projects:
92-
- [naga](https://github.com/gfx-rs/naga) - the new in-house shader translator has reached the milestone of successfully loading a WGSL [boids example](https://github.com/gfx-rs/naga/blob/thda1f6a47b06c89abb1dff70326c076f1088964a3/test-data/boids.wgsl) and generating a valid Metal source for it :tada:
93-
- [metal-rs](https://github.com/gfx-rs/metal-rs/) has got a lot of contribution by @adamnemecek. Indirect command encoding is particularly exciting!
94-
- [gfx-extras](https://github.com/gfx-rs/gfx-extras) is a new library that is forked from rendy-memory/descriptor.
95-
- [gfx-ocean](https://github.com/gfx-rs/gfx-ocean) was moved to gfx-rs organization and updated to gfx-hal-0.5.
96-
- [gfx-portability](https://github.com/gfx-rs/portability) was also updated.
115+
116+
- [naga] - the new in-house shader translator has reached the milestone
117+
of successfully loading a WGSL [boids example]
118+
and generating a valid Metal source for it. 🎉
119+
- [metal-rs](https://github.com/gfx-rs/metal-rs)
120+
has got a lot of contribution by @adamnemecek.
121+
Indirect command encoding is particularly exciting!
122+
- [gfx-extras](https://github.com/gfx-rs/gfx-extras) is
123+
a new library that is forked from rendy-memory/descriptor.
124+
- [gfx-ocean](https://github.com/gfx-rs/gfx-ocean) was moved
125+
to gfx-rs organization and updated to gfx-hal-0.5.
126+
- [gfx-portability](https://github.com/gfx-rs/portability) was also updated.
127+
128+
[wgpu-web-triangle]: https://github.com/gfx-rs/wgpu-rs/pull/193#issuecomment-599156540
129+
[naga]: https://github.com/gfx-rs/naga
130+
[boids example]: https://github.com/gfx-rs/naga/blob/thda1f6a4/test-data/boids.wgsl
97131

98132
### [Quest Engine Part 2: Deploying a Rust App On Android][quest-part-2]
99133

100-
![Oculus Quest](./quest.jpg)
134+
![Oculus Quest](quest.jpg)
101135

102136
The [second part][quest-part-2] of Nikita Krupitskas'
103137
[blog series][quest-part-1] on developing a game engine for the Oculus Quest
@@ -111,7 +145,7 @@ for Android - useful even if you're not targeting the Oculus hardware!
111145

112146
### [const-tweaker]
113147

114-
![const-tweaker UI](./const-tweaker.gif)
148+
![const-tweaker UI](const-tweaker.gif)
115149

116150
Thomas Versteeg has released a new crate called `const-tweaker`, which provides
117151
a web UI that can be used to tweak `const` variables in a running application.
@@ -136,19 +170,20 @@ _Discussions: [/r/rust](https://www.reddit.com/r/rust_gamedev/comments/foywc6/an
136170
### [three-d] v0.1
137171

138172
[three-d] is a renderer which targets both desktop (OpenGL) and web
139-
(WebAssembly + WebGL2) which makes it possible to develop a 3D application on
173+
(WebAssembly + WebGL2) which makes it possible to develop a 3D application on
140174
desktop and easily deploy it on web.
141175

142-
This month [three-d v0.1][three-d-v0-1] was released.
176+
This month [three-d v0.1][three-d-v0-1] was released.
143177
Main features:
178+
144179
- Thin and low-level graphics abstraction layer which maps one-to-one with the
145-
OpenGL/WebGL2 graphics APIs.
180+
OpenGL/WebGL2 graphics APIs.
146181
- Medium-level modular abstractions of common graphics concepts.
147182
- Deferred renderer with high-level components.
148183
- Default windows for easy setup.
149184

150-
It is possible to build your own rendering features from low- or medium-level
151-
components and combine with other high-level features, so you can already now
185+
It is possible to build your own rendering features from low- or medium-level
186+
components and combine with other high-level features, so you can already now
152187
make some cool stuff. See for example these [examples][three-d-examples].
153188

154189
![Lighting example](three-d-lighting.png)
@@ -180,10 +215,9 @@ Their [March updates][mun-march] include:
180215

181216
[Mun]: https://mun-lang.org
182217
[moss]: https://www.mozilla.org/en-US/moss/mission-partners
183-
[mun-february]: (https://mun-lang.org/blog/2020/03/10/this-month-february
218+
[mun-february]: https://mun-lang.org/blog/2020/03/10/this-month-february
184219
[mun-march]: https://mun-lang.org/blog/2020/04/02/this-month-march
185220

186-
187221
## Popular Workgroup Issues in Github
188222

189223
<!-- Up to 10 links to interesting issues -->
@@ -211,7 +245,9 @@ or [join the next meeting][join].
211245
- [Amethyst's "good first issue" issues][amethyst-issues];
212246
- [A/B Street's "good first issue" issues][abstreet-issues];
213247
- [Mun's "good first issue" issues][mun-issues];
214-
- Anybody wants to work on the [GLSL front-end](https://github.com/gfx-rs/naga/issues/23) in Naga? One day, we'll be able to finally replace glsl-to-spirv, which is used by a lot of graphics applications and is prone to issues.
248+
- Anybody wants to work on the [GLSL front-end][naga-issue] in Naga?
249+
One day, we'll be able to finally replace glsl-to-spirv,
250+
which is used by a lot of graphics applications and is prone to issues.
215251

216252
[embark.rs]: https://embark.rs
217253
[embark-open-issues]: https://github.com/search?q=user:EmbarkStudios+state:open
@@ -224,6 +260,7 @@ or [join the next meeting][join].
224260
[amethyst-issues]: https://github.com/amethyst/amethyst/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
225261
[abstreet-issues]: https://github.com/dabreegster/abstreet/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
226262
[mun-issues]: https://github.com/mun-lang/mun/labels/good%20first%20issue
263+
[naga-issue]: https://github.com/gfx-rs/naga/issues/23
227264

228265
## Bonus
229266

0 commit comments

Comments
 (0)