Skip to content

Commit 72b182b

Browse files
authored
Newsletter 13: Add mochi, optic, sia, ijron (#272)
* Newsletter 13: Add mochi and optick-rs * Newsletter 13: Add ijron * Newsletter 13: sia parver&viewer
1 parent 634dd76 commit 72b182b

File tree

4 files changed

+98
-5
lines changed

4 files changed

+98
-5
lines changed
Loading

content/posts/newsletter-013/index.md

+98-5
Original file line numberDiff line numberDiff line change
@@ -1048,9 +1048,37 @@ _Discussions:
10481048
[@moletrooper]: https://twitter.com/moletrooper
10491049
[sf-graph-post]: https://moletrooper.github.io/blog/2020/08/starframe-1-architecture/
10501050

1051-
### 🐦 [Puffin Profiler]
1051+
### [mochi]
10521052

1053-
Pufin is a simple instrumentation profiler created by [Embark]
1053+
![A running app on a physical device](mochi.jpg)
1054+
1055+
[mochi] by [@richardanaya] is a game engine oriented toward
1056+
low-power mobile Linux phones/tablets.
1057+
It's written in Rust and uses Gtk and Cairo.
1058+
All drawing is done with an [Cairo Context][cairo-context] that mochi
1059+
has extended to do some really [common graphics operations][mochi-cairo].
1060+
1061+
This project is super alpha but usable.
1062+
Current features include: touch, screen rotation, atlases, sounds.
1063+
1064+
[pinephone-cairo-game-starter][mochi-start] is a starter for creating
1065+
a Cairo-based game in Rust for [PinePhone][pinephone-wiki]
1066+
1067+
_Discussions:
1068+
[/r/rust_gamedev](https://reddit.com/r/rust_gamedev/comments/i2389n/how_to_build_a_pinephone_game_using_rust)_
1069+
1070+
[mochi]: https://github.com/richardanaya/mochi
1071+
[@richardanaya]: https://github.com/richardanaya
1072+
[pinephone-wiki]: https://en.wikipedia.org/wiki/PinePhone
1073+
[mochi-start]: https://github.com/richardanaya/pinephone-cairo-game-starter
1074+
[cairo-context]: https://gtk-rs.org/docs/cairo/struct.Context.html
1075+
[mochi-cairo]: https://docs.rs/mochi/latest/mochi/trait.MochiCairoExt.html
1076+
1077+
### 🐦 [Puffin] Profiler
1078+
1079+
![Puffin flamegraph shown with puffin-imgui](puffin.png)
1080+
1081+
[Puffin] is a simple instrumentation profiler created by [Embark]
10541082
where you can opt-in to profile parts of your code.
10551083

10561084
```rust
@@ -1066,12 +1094,44 @@ fn my_function() {
10661094

10671095
The collected profile data can be viewed ingame with [imgui-rs].
10681096

1069-
![Puffin flamegraph shown with puffin-imgui](puffin.png)
1070-
1071-
[Puffin Profiler]: https://github.com/EmbarkStudios/puffin
1097+
[Puffin]: https://github.com/EmbarkStudios/puffin
10721098
[Embark]: https://www.embark-studios.com/
10731099
[imgui-rs]: https://github.com/Gekkio/imgui-rs
10741100

1101+
### [Optick][optick] Profiler
1102+
1103+
[![A screenshot from the video](optick-video.jpg)][optic-video]
1104+
_Click to watch a [video tutorial / features overview][optic-video]_
1105+
1106+
[Optick][optick] by [@bombomby] is a lightweight C++ profiler for games
1107+
that provides access for all the necessary tools required for
1108+
efficient performance analysis and optimization:
1109+
instrumentation, switch-contexts, sampling, GPU counters.
1110+
1111+
This month Rust API for Optick was released: [optick-rs].
1112+
1113+
Also, a set of procedural macros for simplifying the process of code markup
1114+
were published: [optick-attr].
1115+
1116+
```rust
1117+
// Instrument current function
1118+
#[optick_attr::profile]
1119+
fn calc() { /* Do some stuff*/ }
1120+
1121+
// Generate performance capture for function
1122+
// to {dir}/capture_name(date-time).opt.
1123+
#[optick_attr::capture("capture_name")]
1124+
pub fn main() {
1125+
calc();
1126+
}
1127+
```
1128+
1129+
[optick]: https://optick.dev/
1130+
[optick-rs]: https://github.com/bombomby/optick-rs
1131+
[optick-attr]: https://crates.io/crates/optick-attr
1132+
[optic-video]: https://youtube.com/watch?v=p57TV5342fo
1133+
[@bombomby]: https://github.com/bombomby
1134+
10751135
### [wowAddonManager] v1.0.2
10761136

10771137
![wowAddonManager Example](wowAddonManager-example.png)
@@ -1089,6 +1149,39 @@ communicate with the TTY.
10891149
[tui-rs]: https://github.com/fdehau/tui-rs
10901150
[Termion]: https://gitlab.redox-os.org/redox-os/termion
10911151

1152+
### [intellij-ron]
1153+
1154+
[RON][ron] (Rusty Object Notation) is a simple readable data serialization format
1155+
that looks similar to Rust syntax and is designed
1156+
to support all of [Serde's data model][serde-data].
1157+
RON is relatively popular amongst Rust game developers.
1158+
1159+
This month [@JonahHenriksson] released [intellij-ron] - a new plugin
1160+
that adds [RON][ron] support to IntelliJ-based IDEs.
1161+
1162+
_Discussions:
1163+
[/r/rust](https://reddit.com/r/rust/comments/ictnsc/ive_created_an_free_open_source_intellij_plugin)_
1164+
1165+
[intellij-ron]: https://github.com/ron-rs/intellij-ron
1166+
[@JonahHenriksson]: https://github.com/JonahHenriksson
1167+
[ron]: https://github.com/ron-rs/ron
1168+
[serde-data]: https://serde.rs/data-model.html
1169+
1170+
### [".sia" Parser & Viewer][football-manager]
1171+
1172+
![sia_viewer demo: A textured model](football-manager.jpeg)
1173+
1174+
This month [@Stromberg90] published [Football Manager Tools] - a set of tools
1175+
for working with [Football Manager's][football-manager] 3D mesh format(.sia).
1176+
Amongst them:
1177+
1178+
- `sia_parser` - a Rust crate for parsing .sia files.
1179+
- `sia_viewer` - a standalone Mesh(.sia) Viewer.
1180+
1181+
[@Stromberg90]: https://github.com/Stromberg90
1182+
[football-manager]: https://en.wikipedia.org/wiki/Football_Manager
1183+
[Football Manager Tools]: https://github.com/Stromberg90/football-manager-tools
1184+
10921185
## Popular Workgroup Issues in Github
10931186

10941187
## Meeting Minutes
694 KB
Loading
303 KB
Loading

0 commit comments

Comments
 (0)