コンテンツにスキップ

2026/02/09 ~ 2026/02/15

2026/02/09

今日はまたmesh shaderの方を書いてた.
meshletの作り方、前回はmeshoptimizerを使ったが論文の方には他の手法も紹介されている.
DirectXMesh,Greedy法,BoundingSphere法,k-medoids法を合わせた5種類である.
k-medoids法を除いた4種類を今回は実装しとこうかなと思い挑戦する方向で進めている.
DirectXMesh、これはDirectX Meshというライブラリを使って実装する方法.
内容に関してはmeshoptimizerと変わらない、何ならNugetでお手軽に入れられる分こっちの方が楽ではある.
ちょっと考えるポイントはmeshoptimizerがuint32_tなのに対し、uint8_tである点.
今回はstd::vector<uint8_t>にDirectXが書き込むので、それっぽいメモリをstd::vector<uint32_t>resizeを使って確保して、std::memcpyでコピーすることで解決した.
これで何とかうまく描画できたので2つ目が終了.
次にGreedy法、こいつは内容は単純だけど面倒が多い.
巨大なBBoxを作って、XYZ各軸の長さを計算し、一番長い軸でVertexとTriangleにソートを実行.
Triangleは各Indexを足し合わせて3で割ったもの、所謂重心に対して軸によるソートをする.
そしたら一番手前のVertexを取り出して、それに関連する三角形を取得.
取得した三角形の頂点と三角形を突っ込む、そして近傍頂点で同じことを繰り返して、頂点と三角形を分割して、meshlet化する、この流れ.
一旦実装はしたものの、なんか三角形の表示がおかしい.各クラスタの色がバラバラ.
ちょっとエラーがあるので、明日直せたら直すことにする.
アニメはWWW.WORKING!!を見終えた、漫画から始まってついに駆け抜けてしまった.
何年も前の作品だけども、やっぱり面白さは尽きないねぇ.個人的には漫画3~6巻のWWWあたりの甘々をもっと見たかった気持ちがある.
あと、今日はちょっとGPU Zenを読んでる途中の部分から読んだ.
ネタ集めなんだけど、そういえばinterleaved辺りはmesh shaderやってるし実装してみようかなという気分になれた.
その前にvisibility bufferだろうか、まだまだ実装は始まったばかりだしゆっくり何やるかは考えよう...といったところで今回はここまで.

2026/02/10

昨日に引き続きmeshlet,三角形の表示がおかしいので色々調べる.
よくよく考えるとこの表示ある意味正しいのかとなる.
assimpで出力されたデータはindexが全く共有されていないので、全部のindexが頂点と一対一で結びついてる状態になってた.
つまりはすべて頂点の選び方はX方向のソート次第となるので、なんか三角形細かいな...と思ったけどこれは正しそう.
逆にちゃんと分かれていればもう少しそれっぽくなるはずなんだけど、まあ検証データがない.
とりあえずgroupindexを使って2値で表したらちゃんと軸には沿って出たので、組み込みとしては問題なさそう.
とりあえずよかった、次のBoundingSphereなら分かれずに行けそうなので、これを実装してどうなるかかなぁ.
今日はちょっとモンハンストーリーズを進めた、進めたというよりいわゆるレベル上げ.
リオレイアを仲間にして、防具を作るために奔走中.
今までイャンクックを使ってたんだけどこれはレア度2で、リオレイアはレア度3.
確かにレベルとステータスの上がり方が違うので、これをちゃんとレベル上げればいい感じになるかも.
頑張ってレベルを上げて早くディアブロスにリベンジしないとな、ということで今回はここまで.

2026/02/11

今日は夜に呑みに行く予定があったけど、それまでは特にこれといってはないので、まずは動画を1本仕上げた.
前からコードは書いてあったけど、動画にしてなかったベルマン輸送方程式.
これでやっと強化学習の4章を読み進めることができるようになった.
昼食は久々にケンタッキーのバーガーが食べたいということで、クーポンを使って安く食べた.これよこれ.
ついでに図書館で借りてた本も返して、次を借りる準備ができた.
とりあえず世界の歴史の中世の世界を予約、名著と名高いので読むのが楽しみ.
家に帰ってUVの動画をちょっと進めた後、そういえばやろうやろう詐欺でやってなかったドメイン取得をやった.
このサイトもついに独自ドメインでアクセス可能になったのはとても良い.
こういうのって浪漫なので、極論なくてもいいものなんだけど、やっぱりあるとちょっと心躍るよね.
そして旧友と呑みに外にまた出た、今回は沖縄料理が食べたくなったのでそこを予約しているのである.
2026/01/29の記事を見るとわかりやすいが、あの時から沖縄料理食べたいとなっていたのである.
とりあえず自分が食べたかったジーマーミ豆腐とブルーシールとグルクンは食べられたので満足.
酒も沖縄料理屋に来たので泡盛をチョイス、久々に吞んだけどこれがたまらないんだ.
ちょっと旧友と話を終えた後、明日も仕事なので早めに解散.
とりあえずリコリスリコイルのパチンコを打ちに行く約束だけした、俺は弱い.
さて、ゲームの方もちょっとだけ進めてモンハンストーリーズでディアブロスにリベンジを↓.
リオレイアを育てて、防具も新調して、アイテム十分で挑んだけど、レベリングをちゃんとしたからか苦労なく行けた.
なんなら、用意してた罠も使わずに倒せてしまった、やはりレベリングは大事ね.
まあこれで先には進めるようにはなったのでよし、といったところで今回はここまで.

2026/02/12

今日はmesh shaderでまず前回のindexの奴の直し方が分かった.
flagを見てた時aiProcess_JoinIdenticalVerticesという怪しげなのがあったので、それを渡したら解決.
ちゃんとvertexが統合されて使いまわされるようになり、Greedyでも綺麗にまとまるようになった.これよこれ.
そして、Bounding Sphereの方も実装した.
アルゴリズムを見つつやったけど、実装例のコードがなんか若干アルゴリズムと順序違ったりでうーんとなる.
そこは合わせてくださいよという感じだ,breakで切ってるのにアルゴリズムに書いてないのはどうなのそれ?
まあ、実装したらちゃんと綺麗にmeshletの分割もされたので一旦は安心.
これで本格的に悔いなく次に進める.
本は昨日言った通り強化学習の4章を一気に読んだ、DPDP.
DPという感じはしないけど、まあそもそも強化学習も部分に分けられる部分があるならDPできるのは確かかぁ、う~ん.
実装はJack car rentalというものを実装するっぽい、まあこれはゆっくりやっていこうか.
私を喰べたい、ひとでなしを見終えた、久々に百合ってやつを見終えた気がする、いや百合なのか?
ある意味人外モノとも捉えられる気がする、繊細な心情の揺れ動き方は好き.原作も読もうかなぁ.
今日は急にあぶらそばを食べたくなったので、帰りに食べて帰った.
小盛~大盛どれでも値段一緒だったけど、入らなかったら困るしなあと思って中にした、普通に食えたなとなった.
まあ次回来たときは大盛にしようかな、といったところで今回はここまで.

2026/02/13

この日記は2/14に書いてます、ということで今日は深夜に首都高を走るという謎の会に参加してきた.
名前の通り深夜の首都高を走るのである.
自分は運転ができないので横に乗らせてもらうということで、相乗りで参加である.
夜に錦糸町に行き、合流した後ファミレスで一旦腹を満たすことに.
なんか死ぬほど工事が多く時期を感じる、ファミレス前で工事をしてて入れないとかもあったが、なんとか入れたので一息をついた.
そしてちょっとゆっくりした後23時も終わるころから行動を開始.
どうも今回は大黒PAを目指していくのだが、ここは夜治安があまり良くなく夜は一時的に封鎖されたりするらしい.
全く知らない領域なので、そんなことあるんだと思いつつコンビニで買い出しを済ませて首都高に入った.
まず最初に平和島PAまで走り、ちょっと休憩してると大黒PAの封鎖が解除されたので、そのまま大黒PAへ.
神奈川って遠いようで近い、近いようで遠いような場所.
大黒PAは渦上にぐるぐるしながら入っていくのが面白い、そして確かに治安が悪い.
まあ休む場所としては悪くないんだけども、そこで屯する必要ある?とかだったり何とも言えないものも多い.
場所としては綺麗で良い場所なんだけどね、写真映えもするし.
さて、そこから大黒から池袋の上側まで大回りして地上に降りてきた、自分は眠気が限界まで来てて途中寝てた.
そうこうしてるうちに始発が来る時間なので、駅まで送ってもらうことに.
とはいえこの時間の東京は信号に引っかかる.
運がないとは言ってたものの、2本先の青になってる信号と今赤で引っ掛かってる信号の間隔を考えると、必然的に止まるように組まれてるっぽい感じはする.
東京の深夜は余裕を持って行動しようというのがわかった、いや車運転しないけども.
ということで電車が行った後に到着したので、深夜明けあたりの上野あたりを少し散策.
治安は悪いけどなんというか、この時間でも活動している人はいっぱいいるんだなというのは面白いところ.
そんな感じで次の電車の時間になったので、そのまま乗って帰宅、今これを書いているという訳.
深夜の首都高を走るというのは結構楽しい体験でまた参加したいなとも思うが、やっぱり体がきついというのが問題だなぁと思う.
この時間まで起きるのがあまりにもきつすぎるので、次回の参加は流石に無理かなと思ってる.
深夜じゃなきゃまだいけるんだけど、マジで12時くらいで既にきつかったので.
さて、もう眠すぎてやばいので今日はここまで.

2026/02/14

今日は特に何もしない日だったけど、とりあえず体は動かそうと思い、図書館に行って本を借りてきた.
そして、野菜も少し減ってたのでそれも買いだめ.
後は家に帰ってちょっと色々やった後に少し借りてきた本を読む.
世界史の通史だけど、ローマが終わりかけのころでフン族が東から入ってきて、東ゴート族/西ゴート族が大移動をしたことによりローマが崩壊していくところから.
要はゲルマン民族の大移動ってやつだけど、そこから民族の所在地が固定されていくところが面白いところ.
この辺って世界史のお勉強だと、ここにこの辺の民族がいるよね~くらいの流れしかやらないけど、この辺の移動を詳しく見るのは中々楽しい.
まあこの本も始まったばかりなので、ゆっくり読んでいこう.
動画の方のネタとして、以前科博でやってた量子展に置いてあった量子ビットの展示の再現をやってみた.
あの点字であったのはRGBを0~1で表示したカラーキューブを観測していない状態の量子の存在位置で、
RとGとBの3ビットの量子ビットの1が出る確率をスクロールバーで設定して、観測ボタン(だったはず)を押すとビットの値が確定するという内容だった.
他の展示はちょっと面倒だったけど、これは簡単だったので当時見たときに再現したいなと思ってたのである.
ということでそれっぽいものは作れたので、後は動画にすればOK、また今度頑張ろう.
そして、mesh shaderの方はamplified shaderをちょっと書いた.
ちょっとした準備、まだまだ先は長い.
強化学習の方もDPのGrid Worldを実装した.
in-placeにするだけなのでそこまで難しくない、これも動画にしないとなぁ.
そろそろ本格的に動画を進めないといけないね、といったところで今回はここまで.

2026/02/15

今日は動画の方を作った、UVのパースペクティブコレクトの奴.
登録はしたので、そのうち上がると思います.
今日はポテトサラダが食べたかったので作った.
昨日値引きのジャガイモを買い込んだので、そいつで作ったけどいい感じ.
また中世ヨーロッパの方も少し読み進めた.
ビザンツ帝国のテオドリックとユスティニアヌスとか、テオドラとかその辺.
この辺の国は東ローマのあたりでなぜ生き延びたかというと、ゲルマン大移動時に西にうまくいなしたので逆に残れたとか.
中世のこの辺の移動ってなんかローマ滅亡後くらいのイメージがあったけど、時代を見るとローマ滅亡直前のあたりから始まってるんだよなぁ.
なんか世界史のお勉強の時にローマが終わった後にゲルマン大移動だったのもある.
まあ年号覚えろと言わればそれはそうなんだけど、趣味だしなぁ.
さて、まあ今日はこれくらい.