Randomized Texture Tiling
01.08.2025 13:56 — 👍 1 🔁 0 💬 0 📌 0@bsky.rayspace.xyz
Computer Graphics、特にMonte Carlo Ray Tracingに興味があります。 Dynamics Simulationもちょっとやっていました。 - https://rayspace.xyz - https://github.com/shocker-0x15 - https://twitter.com/Shocker_0x15
Randomized Texture Tiling
01.08.2025 13:56 — 👍 1 🔁 0 💬 0 📌 0夏休みファーストシーズン
29.07.2025 12:37 — 👍 0 🔁 0 💬 0 📌 0PositionのTruncation Bitwidthを上げると期待通りCLASサイズが下がる。
Ada Lovelaceだと最小CLASサイズは512 bytesっぽい?CLAS用に専用ハード積んでそうなBlackwellだとどうなってるんだろう。
関係ないけどテクスチャーは適当に仕立てたProcedural年輪。
github.com/shocker-0x15...
OptiX wrapperをCluster API (Mega Geometry)に対応させた。
まだクラスターテンプレートとかグリッドクラスターは対応していないけど。
Position Bit Truncation
Cluster APIではユーザー側から明示的に頂点位置の下位ビット切り捨てが指定できる。
ある程度OptiX Wrapperのクラスター周りのAPIが固まった。
CLASもCGASもバッチビルド形式で大量のビルド項目を入れられて自由度が高い。
が、クラスター仕様・量子化・ビルドフラグなどはバッチ全体で共有なのでCLAS Set, CGAS Setという概念を作った。
CLAS Setはあるひとつの階層型メッシュを構成するCLAS集合、CGAS Setはある同一の階層型メッシュのインスタンス集合(それぞれのCGAS)という解釈にした。
これによってSBTの自動構築も自然に組み込めた...気がする。
メッシュ混在
19.07.2025 13:24 — 👍 3 🔁 0 💬 1 📌 0voted
17.07.2025 02:25 — 👍 0 🔁 0 💬 0 📌 0カーテンが75%届き、映画のF1を観た。
13.07.2025 14:09 — 👍 0 🔁 0 💬 0 📌 0OptiXラッパーのCLAS, CGAS周りのAPIを考えるのだけど、従来のGASとかと違ってバッチビルド前提だからCLAS、CGASのクラスの外にbuild()を用意する感じになりそう。
12.07.2025 04:12 — 👍 0 🔁 0 💬 0 📌 0Shading Normal表示かつ、メッシュの簡略化処理調整したら結構シームレスになったかな。
12.07.2025 04:08 — 👍 1 🔁 0 💬 0 📌 0チエンチエン
10.07.2025 10:58 — 👍 0 🔁 0 💬 0 📌 0引っ越した。
配線を始める
クラック生じてると思ってたけど、同一クラスター内なので周りに比べて角度が急な面があるだけだった。
Geometric Normalの可視化だから余計目立ってた。
メッシュ作成時にレベル間でたまたま同一境界がロックされるのが続いたりするとこういうの発生しやすいかも?要調査。
LoD無駄に変えまくるのタノシイ
05.07.2025 09:50 — 👍 6 🔁 1 💬 0 📌 0このNaniteがベースとしているBatched Multi Triangulationとやら賢いな~
05.07.2025 06:40 — 👍 0 🔁 0 💬 0 📌 0クラスターのレベル可視化。
数ピクセルレベルまで離れると「うさぎだったもの」になっている。
意味的に同じメッシュでもMega Geometryな感じだとインスタンスごとに使うCLASサブセットが異なる。
けど被っているCLASもあるはずなので、メッシュに関連付いた全インスタンスが必要とするCLASスーパーセットをビルド、各インスタンスは必要とするCLASサブセットのハンドルをコピーしてCluster GASのビルド、という実装にしてみた。
CLASハンドルの配列とそこから生成されるGAS/BLAS over CLASesはインスタンス側。
03.07.2025 14:23 — 👍 0 🔁 0 💬 0 📌 0Clusterを使ったMega Geometry的なことをやる場合、意味的には同じメッシュでも異なるインスタンスだとGAS/BLASの内容が異なる。しかしGASを構成する個々のCLASはデフォームが無い場合は共通のものだったりする。CLASはメッシュ側に紐づくが、CLASハンドルの配列はインスタンス側に紐づく。
03.07.2025 14:21 — 👍 2 🔁 0 💬 1 📌 0デバッグのためにクラスターのLoDロックを実装。
なんかメッシュの作り方かエラー推定周りにミスがあるのかクラックが生じることがあるな。
View AdaptiveとLoD0マニュアル指定の切り替え。
クラスターの密度が全く異なるのがわかるけど、見た目の差異はほぼ無い。
よく見るとちゃんと距離に応じてクラスターごとに粗くなっていっている。がXの画質だとわからんかも。
02.07.2025 18:33 — 👍 0 🔁 0 💬 1 📌 0Mega Geometry的な。
02.07.2025 18:23 — 👍 4 🔁 0 💬 1 📌 0まずは簡単なかたちでCluster GAS構築できた。
- GPUで各CLASのArgs書き込みとCLAS数AtomicAdd
- CLAS集合のビルド
- GPUでCluster GASのArgs書き込みとCluster GAS数Atomic Add
- Cluster GAS(集合)のビルド
OptiXのCluster API、クラスターIDは不正値返ってくるしReleaseビルドはクラッシュするしでなんでだって調べたらどうやらパイプライン構築時にallowClusteredGeometryをセットしないといけないらしい。
公式ドキュメントも多分これを言及し忘れている。サンプルコードは動作しているのでもちろんセットしているが何も注意書きが無い。
使わなくなったマザーボードと電源、CPUクラーを捨てることに成功した。
以前ごみ収集で出せるとの情報を見て出してみたが回収されなかったので、区役所の小型家電回収ボックスとやらに持っていった。
Rendering nerds! Check out our latest work "Vector-Valued Monte Carlo Integration Using Ratio Control Variates" that has just gotten the best paper award at SIGGRAPH 2025. This paper presents a method that reduces variance of a wide range of rendering and diff. rendering tasks with negligible cost.
14.06.2025 17:26 — 👍 88 🔁 23 💬 6 📌 0風は涼しい。
夏の最大値これくらいでおk