lumino trail

ゲームエンジン作ってます。Github:https://github.com/lriki/Lumino Twitter:https://twitter.com/lriki8

開発状況 2020 #1

ぼちぼちリリースしたい。いい感じに機能がそろってきた気がするよ。

ということで、0.9.0 リリースに向けて、チュートリアルを作り始めています。

f:id:lriki:20200131190330p:plain

他に今月何かやったかなぁ…

非同期ロード

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

基礎部分は出来上がったので、実際のアセット読み込み部分を少しずつ対応していく予定です。

オートタイル

タイルマップのアレ。坂道対応。

f:id:lriki:20200131193243p:plain

絵文字

冒頭の Hello, Lumino! についてるこれ→ 🌱

テクスチャとしてロードできるようにしました。

// C++
auto texture = Texture2D::loadEmoji(u"🌱");
# Ruby
texture = Texture2D.load_emoji("🌱");

一説によるとバカゲーがはかどるらしいです。🔥🔥🔥

ポストエフェクト

↓色調シフト

f:id:lriki:20200131193022p:plain

↓ブルーム

f:id:lriki:20200131193012p:plain

Twitterでも言ったけど、ブルームは自分がシェーダの勉強始めるきっかけになったものだったりします。

なので長く試行錯誤を続けてきた今のレンダリングアーキテクチャの上で動かせたのは、個人的に大きなマイルストーンの達成だったりします。

0.4.0 で実装してた FXAA や SSAO も早く持ってきたいところ。