開発状況 2020 #1
ぼちぼちリリースしたい。いい感じに機能がそろってきた気がするよ。
ということで、0.9.0 リリースに向けて、チュートリアルを作り始めています。
他に今月何かやったかなぁ…
非同期ロード
Loading 画面とか作れるように、テクスチャやメッシュなどを非同期ロードできるようにしています。
基本の考えは JavaScript の fetch API や Promise。ネイティブマルチスレッドが苦手なスクリプト系言語でも問題なくできるよ!ということで、こんな感じで使います。
// C++ Assets::loadAssetAsync(u"asset.json")->thenWith([](Ref<Object> asset) { Debug::print(u"Loading completed."); });
# Ruby Assets.load_asset_async("asset.json").then_with do | asset | Debug.print("Loading completed."); end
基礎部分は出来上がったので、実際のアセット読み込み部分を少しずつ対応していく予定です。
オートタイル
タイルマップのアレ。坂道対応。
絵文字
冒頭の Hello, Lumino! についてるこれ→ 🌱
テクスチャとしてロードできるようにしました。
// C++ auto texture = Texture2D::loadEmoji(u"🌱");
# Ruby texture = Texture2D.load_emoji("🌱");
一説によるとバカゲーがはかどるらしいです。🔥🔥🔥
ポストエフェクト
↓色調シフト
↓ブルーム
Twitterでも言ったけど、ブルームは自分がシェーダの勉強始めるきっかけになったものだったりします。
なので長く試行錯誤を続けてきた今のレンダリングアーキテクチャの上で動かせたのは、個人的に大きなマイルストーンの達成だったりします。
0.4.0 で実装してた FXAA や SSAO も早く持ってきたいところ。