@@ -238,6 +238,38 @@ contribute for everyone, be it with suggestions, bugs or PRs.
238
238
239
239
## Library Updates
240
240
241
+ ### [ posh]
242
+
243
+ ![ Example code written with posh, simplified from the hello triangle
244
+ example] ( posh.jpg )
245
+
246
+ [ ` posh ` ] [ posh ] is a crate that seamlessly integrates a graphics library with an
247
+ embedded functional shading language. It is a proof of concept that aims to
248
+ demonstrate that graphics programming can be both type-safe and ergonomic.
249
+
250
+ With ` posh ` , shaders are written in plain Rust (with some caveats). Procedural
251
+ macros are only required for defining custom vertex and uniform types.
252
+
253
+ The core component of ` posh ` is the ` Program<U, V, F> ` type, which acts as a
254
+ bridge between the shading language and the graphics library. This type
255
+ represents a compiled shader and serves as the entry point for draw calls. By
256
+ explicitly carrying the types ` U ` (uniform interface), ` V ` (vertex shader
257
+ interface), and ` F ` (fragment shader interface), ` posh ` enables static
258
+ verification, ensuring that the data provided in draw calls matches the shader's
259
+ signature.
260
+
261
+ For simplicity, ` posh ` currently targets OpenGL ES 3.0. Although it is an
262
+ experimental project, its authors hope to inspire the community to further
263
+ explore how static typing can elegantly bridge the gap between host code and
264
+ shader code.
265
+
266
+ For more details, check out the [ examples] [ posh-examples ] or the authors' [ blog
267
+ post] [ posh-blog ] .
268
+
269
+ [ posh ] : https://github.com/leod/posh
270
+ [ posh-examples ] : https://github.com/leod/posh/tree/main/examples
271
+ [ posh-blog ] : https://leod.github.io/rust/gamedev/posh/2023/06/04/posh.html
272
+
241
273
## Popular Workgroup Issues in Github
242
274
243
275
<!-- Up to 10 links to interesting issues -->
0 commit comments