卯月と作業報告の候
もうちょっとレンダリングフローの見直し中
前月に引き続き。
2D/3Dシーンと UI モジュールの関係がかなり変わってきています。
前はシーンのほうが偉くて、それの後描画的な立ち位置で UI の描画が入り込んでました。 今は UI のほうが偉くて、UIFrameWindow クラスをルートとした、ちょうど WPF や HTML のような UI要素の階層構造の一部(Canvas とか)としてシーンが描画されるようになりました。
なんでこんなふうになったの?
ウリというかコンセプトもちょっと変わってくると思います。 今までは「ゲームエンジン」だったけど、それプラス、「リアルタイムグラフィックスアプリケーション」。 なんかかっこいい。字面が。
あと、描画はコールバックの外側でもできるようになりました。 コードはこんなイメージ。
void Main() { // コードをコンパイルして Shader オブジェクトを作る auto shader = Shader::Create("test.fx"); while (Engine::UpdateFrame()) { // Lumino 自体の描画処理 Engine::RenderFrame(); // 画面全体への、シェーダを用いた直接描画 auto* r = Engine::GetSceneGraph3D()->GetRenderer(); r->SetShader(shader); r->DrawScreenRectangle(); // 描画結果をウィンドウに表示する Engine::PresentFrame(); } }
ピクセルシェーダをゴリゴリ書くとこんなのが出たりします。
ドキュメントとホームページ
ドキュメント書きたい。でもデザインめんどい。
こんなことがしたい。
サイトジェネレータとか今時は星の数ほどあるけど、 がっつりとしたマニュアルやAPIドキュメント作りたいときはイマイチ力不足を感じます。
で、自作とかしてた最中に DocFX を見つけました。 この子はねぇ・・・つよいよ。
自作とかするまえにかなりたくさん調べたつもりだったけど、なんでヒットしなかったのか・・・。無能なだけか。
日本語情報もまだ少ないみたいだからそのうち使い方まとめとこう。
お試し版
ごめんね