Skip to content

Commit 6635d53

Browse files
aclysmaozkriff
andauthored
Newsletter 12: Rust on iOS with SDL2 & Vulkan renderer (#203)
* Added my "Rust on iOS with SDL2" blog post and my vulkan renderer prototype (name TBD) * whitespace/line length cleanup * A few more tweaks * Newsletter 12: ios + v render: optimize images Co-authored-by: Andrey Lesnikov <[email protected]>
1 parent f7b6f60 commit 6635d53

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

content/posts/newsletter-012/index.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,55 @@ If needed, a section can be split into subsections with a "------" delimiter.
6464

6565
## Learning Material Updates
6666

67+
### [Rust on iOS with SDL2][rust-ios-sdl2-post]
68+
69+
[![Rust on iOS with SDL2 demo](rust-ios-sdl2-screenshot.png)][rust-ios-sdl2-post]
70+
71+
[@aclysma] published a [tutorial][rust-ios-sdl2-post] that describes setting up
72+
Rust/SDL2 on iOS. The resulting app can run in the simulator as well as on
73+
physical devices. [SDL2][sdl2-project] is a mature library providing basic rendering,
74+
audio, and input support. It can also be used to set up an opengl or vulkan
75+
surface. This demo is using [Rust-SDL2][rust-sdl2] for bindings.
76+
77+
[rust-ios-sdl2-post]: https://blog.aclysma.com/rust-on-ios-with-sdl2/
78+
[@aclysma]: https://twitter.com/aclysma
79+
[sdl2-project]: https://www.libsdl.org/download-2.0.php
80+
[rust-sdl2]: https://crates.io/crates/sdl2
81+
6782
## Library & Tooling Updates
6883

84+
### Vulkan Renderer (Name TBD)
85+
86+
[![Vulkan renderer on iOS prototype](vulkan-renderer-prototype.jpeg)][vulkan-renderer-prototype-video]
87+
88+
^ _Click to watch [the video demo][vulkan-renderer-prototype-video] running on iOS._
89+
90+
[@aclysma] published a [new vulkan-based renderer][renderer-prototype] that
91+
uses [atelier-assets] to load 3D scenes exported from blender.
92+
93+
> The objective of this repo is to build a scalable, flexible, data driven
94+
> renderer. Scalable in the sense of performance as well as suitability for
95+
> use in large, real-world projects. This means streaming, LODs, visibility
96+
> systems, and multi-threaded draw call submission need to be possible.
97+
> Additionally it means thinking through how an asset pipeline would work for
98+
> a team with dedicated artists and supporting workflow-friendly features
99+
> like hot reloading assets, possibly on remote devices.
100+
101+
This video demonstrates the renderer running on iOS and receiving asset updates
102+
via wifi. The scene is "sponza" exported from blender. Vulkan is supported on
103+
windows and linux natively. Support for macOS and iOS is via the
104+
well-established [MoltenVK][moltenvk] project.
105+
106+
The demo was ported from PC to iOS over a single weekend and out of
107+
approximately 300 crate dependencies (including complex, OS-specific ones like
108+
tokio), all but a few worked out-of-the-box!
109+
110+
[@aclysma]: https://twitter.com/aclysma
111+
[renderer-prototype]: https://github.com/aclysma/renderer_prototype
112+
[atelier-assets]: https://github.com/amethyst/atelier-assets
113+
[vulkan-renderer-prototype-video]: https://www.youtube.com/watch?v=Ks_HQbejHE4
114+
[moltenvk]: https://github.com/KhronosGroup/MoltenVK
115+
69116
## Popular Workgroup Issues in Github
70117

71118
<!-- Up to 10 links to interesting issues -->
Loading
Loading

0 commit comments

Comments
 (0)