2021.08
今月の絵
太陽が沈んだ20分後みたいな。
手癖のアリス。構図が死んでいる。
2021.06
DirectX Raytracing 入門
NVIDIA のチュートリアル https://github.com/NVIDIAGameWorks/DxrTutorials をやっています。本当は Ray Tracing in One Weekend を DXR で実装したいのですがまだ三角形しか出せていません。影すらないのでレイトレの意味がない。早くプロシージャルジオメトリを描きたいです。
今月の絵
マジの落書きしかしていない……
2021.05
GUI フレームワークが少し進んだ
ゴールデンウィークにカラーピッカーとデータバインディングの仕組みをつくりました。 ステート変化のたびに仮想 UI Tree を返して裏側で物理的なリソース(GUI 上のバッファー、シェーダーモジュール、...)と紐付ける方法は見た目はきれいですがバインディング部分やリソースをプールして管理する部分が難しそうなのですこし imgui っぽい描画と UI Tree が密結合したシステムにしました。今は StackPanel のレイアウトシステムを作っています。
今月の絵
顔くらいまともに描けるようになりたいと思い今作れる最大限のかわいさを考えました。これを突き詰めてみます。
2021.04
WebGPU はいいぞ
WebGPU, というか wgpu-rs はとてもよいものです。低レベルグラフィックス API を始めたいけど Vulkan は too verbose だし DX12, Metal はプラットフォーム依存がどうにも、という人に向いています。実態は Vulkan / DX12 / Metal をラップしたグラフィックスライブラリなので低レベルグラフィックスプログラミングそのもの感は少し低いかもしれませんが、現代的なグラフィック API の特徴(グローバルステートを持たない、シェーダーのバイナリ中間言語が使える、...)を備えているので、いざとなれば Vulkan などに移植するのもさほど苦ではないという点で安心感があります。レイトレや Mesh Shader などはサポートされていませんが、しかたないですね。テッセレーションもないのでやるならコンピュートシェーダーで自前実装が必要ですが、これは Metal も同じ(といっても Apple が用意してくれている)らしいので最近の流れなのでしょうか。ブラウザ上で実用できるレベルに至るにはまだ数年かかりそうですが、ネイティブグラフィックスライブラリとしては現状でも十分実用的だと思います。
おすすめチュートリアル:Introduction | Learn Wgpu
GUI フレームワークを作る
wgpu-rs で GUI フレームワークを作っています。ウィンドウ表示とフォント描画ができるようになりました。現在レイアウトシステム(StackPanel, Grid でいい感じに配置したい)を作っています。IME 対応のテキストボックスは見えている地獄です。
今月の絵
2021.03
組子と L-System
組子、きれいですよね。シンプルなルールでできているので組子を表現するための形式言語を設計できそうだと思っていましたが、それは普通に L-System でした。武蔵美の高山先生の作品がやりたいことそのものだったので真似しています。L-System はある世代の形状は同じでもルールの記述方法によって木の構造が変わり、補間でアニメーションさせたときの見た目が変わるため、うまいこと狙ったアニメを作るにはかなりの経験が必要そうです。
しょぼいツールをさっと作りたい
筋トレメニューの記録やポモドーロタイマーなど、普段使いするしょぼいアプリは自分で作りたいものです。記録ツールを Web の技術で作ろうとすると永続化がしんどい問題に立ちあたりいつもスプレッドシートで妥協していたのですが、もうちょっと GUI に凝りたくなってきたので Firebase を触ってみました。サンプルプロジェクト作成のコマンドラインツールがいたれりつくせりですごいですね。GitHub Actions の設定までやってくれるとは。ポモドーロタイマーについては現在 Flat Tomato というアプリを使っているのですが、別にめちゃめちゃ使いやすいわけでもなく、自前でビジュアライズや分析をしたいなと思い始めたので Swift の勉強に iOS のネイティブアプリを書いてみようかと思っています。現代は開発環境の進化によってこういうちょっとしたツールが土地勘のない環境でも 10h くらいで作れるようになっている(作れるとは言っていない)と思うので、あとはやるだけ。
今月の絵
絵を描きたい欲が完成まで持っていける分だけ湧くのは四半期に一度くらいしかない気がします。
2021.02
スキニングのあるべき形
について考えていました。というのもしわラボ用素体のスキニングが辛かったからです(未完)。単純に Blender のオペレーションに慣れていないのが悪いのですが、モデリングして UV 開いてテクスチャを描いてリギングしてモーションつけてライティングしてという流れがかなり不可逆で、MVP を作ってから全体をイテレーションしてブラッシュアップしていくという方針で立ち向かおうとしたときの辛さにやられてしまいました。手戻りのコストがとても大きい。これができるようにするためには(ラフ段階では)工程を自動化・プロシージャル化するのが良さそうですが、結構な研究が必要そうです。まずひとつ力技で完成させたあとで考えます。
たまこまーけっとがすごい
細かい演技と間がひたすらすごいです。たまこラブストーリーではさらに極まっていました。
F# に入門した
.NET で動く OCaml という雑な認識をしていましたが、最近触り始めてコンピュテーション式や型プロバイダーといったすごい機能を知りました。すごい。 F# cheatsheet を写経して雰囲気を掴んでからドキュメントと仕様を読んでいます。
くるみ
私の中でにわかに筋トレブームが起こりつつあり、なかやまきんに君の動画を見ています。食事メニューの動画の中でαリノレン酸を取るためにアマニ油を飲んでいる場面があったのに触発されて、アマニ油と同じくαリノレン酸が豊富なくるみを食べ始めました。おいしいです。