折登 樹

3.9K posts

折登 樹 banner
折登 樹

折登 樹

@MatchaChoco010

@bsky.orito-itsuki.net Katılım Haziran 2021
30 Takip Edilen1.1K Takipçiler
折登 樹
折登 樹@MatchaChoco010·
@serhii_rieznik このレンダラーはスペクトラルレンダラーではなくRGBレンダラーだが、屈折したタイミングで波長を選択してその波長の色をつけている。以降の屈折はその波長を使い続けている。roughnessが高い場合はRGBでMISして色ノイズを減らしている。画像は色ノイズを避けるために高いsppでレンダリングしている。
日本語
1
0
1
26
折登 樹
折登 樹@MatchaChoco010·
なんかbunnyのレンダリングが変だなあと思っていたらbunnyのモデルの法線がなんか壊れていたわね。直したらきれいになった。dispersionとかも良い感じにでている気がする。
折登 樹 tweet media折登 樹 tweet media折登 樹 tweet media
日本語
1
0
17
702
折登 樹
折登 樹@MatchaChoco010·
@KEMODRG ありがとうございます〜、それでは参加させていただきます!
日本語
0
0
1
31
合歓木ふわ@COMITIA156か04a
今んとこ相互さんかプライベートな絡みのある方優先的に承認にはなるんだけど、自鯖で雑談とか作業とかしてるからおいで〜 みんなの貼ってくれた生き物を眺めるだけとかでもいいです クリスタの素材共有とかもしてる、いろんなことしてる discord.gg/NQ86wnQSc
日本語
1
1
3
709
折登 樹
折登 樹@MatchaChoco010·
後はthin filmとかもノイズテクスチャで厚さを変化させると良い感じになるね。テクスチャの偉大さよ。
折登 樹 tweet media
日本語
0
0
5
242
折登 樹
折登 樹@MatchaChoco010·
特にFuzzがよい見た目で好き。1枚目が一様なFuzzを乗せたやつで、2枚目がテクスチャでFuzzの強さにノイズを付けたもの、3枚目が銅っぽい金属の上にFuzzをのせて埃っぽいイメージのもの。(ホコリならもう少し薄くても良かったかも)
折登 樹 tweet media折登 樹 tweet media折登 樹 tweet media折登 樹 tweet media
日本語
1
0
6
311
折登 樹
折登 樹@MatchaChoco010·
自作レンダラーにMaterialX経由でOpenPBRが実装できたけど、それとは別にネイティブでOpenPBRを勉強のために別途用意してみた。SIGGRAPH 2025のコース資料とか見つつ……。
折登 樹 tweet media
日本語
1
2
28
1.3K
折登 樹
折登 樹@MatchaChoco010·
@masuosuzuki あ、Slangがサポートされたんですね。後でGPU実装とか考えるタイミングで確認してみます。参考になります、ありがとうございます🙏
日本語
0
0
1
38
Masuo Suzuki
Masuo Suzuki@masuosuzuki·
@MatchaChoco010 いいですね。充分実用できそうです。GPU化するなら.mtlxからcodegen使ってどれかのシェーダコードに落とした方が良いかもしれませんね。最近Slangがサポートされました。もしかしたらまだ実装が不完全かもしれませんが
日本語
1
0
1
51
折登 樹 retweetledi
折登 樹
折登 樹@MatchaChoco010·
自作レンダラーにMaterialX対応を入れた。マテリアルとして.mtlxファイルを指定できる。レジスタベースのバイトコードVMでノードを評価している。ちょっと実装が合っているかはよくわからんけど。
折登 樹 tweet media
日本語
1
1
13
1.5K
折登 樹
折登 樹@MatchaChoco010·
@masuosuzuki 今後GPU化するうえではハードウェア命令や組み込み関数の粒度で命令を作って合成可能なのはそうしたほうがカーネルサイズやら実行時ダイバージェンスなどの面で良さそうですね。現状ではplace2dとかcolorcorrectとかも1命令になっているので、GPU実装するときは設計を考え直したほうが良さそう……。
日本語
1
0
0
53
折登 樹
折登 樹@MatchaChoco010·
@masuosuzuki 現状はおよそ1命令は1 nodedef程度の粒度です。mtlxのライブラリにあるノードグラフは展開するようにはなっているので全てのノードが命令化されているわけではありません。最適化は定数畳み込みと0で消えるクロージャの簡約他などを行い、any_hit用のopacityは専用の小さいbytecodeを生成しています。
日本語
1
0
0
56
折登 樹
折登 樹@MatchaChoco010·
また、現状の実装は勉強用のRustのCPUパストレーサーなのでバイトコードを本当にバイト列に落とすところまではやらず、Rustのenumで表現してあります。そのうちGPUも作る予定なので、CPUでしか出来ない実装ではなくGPUでもスクラッチバッファを事前に確保して実行できるものを試しているつもり。
日本語
0
0
0
178
折登 樹
折登 樹@MatchaChoco010·
当初はスタックマシン型のVMで実装したのですが、スタックへのpush/popなどがだいぶ実行速度的に良くないしスタックが別に必要だったので上述の設計に変えました。そのうえで定数畳み込みを入れるとだいぶ実行速度が上がって面白かったですね。
日本語
1
0
1
175
折登 樹
折登 樹@MatchaChoco010·
今回作成したVMはmtlxのグラフをStatic Single AssignmentなIRにして定数uniformなど畳み込みをして、それの変数の寿命をみつつslot番号を命令毎に決定してバイトコードを作り、実行時はスロット番号とオペランドをみながら実行する3アドレスコード型のものが作られているはずです。
折登 樹@MatchaChoco010

自作レンダラーにMaterialX対応を入れた。マテリアルとして.mtlxファイルを指定できる。レジスタベースのバイトコードVMでノードを評価している。ちょっと実装が合っているかはよくわからんけど。

日本語
1
0
4
671
折登 樹
折登 樹@MatchaChoco010·
@masuosuzuki VMへ落とす前の元の入力はOSLではなくMaterialXの.mtlxのXMLを読んでいます。必要なすべてのノードに対する評価周りの実装とかは全部AIに書いてもらいました。実装量はだいぶ多いですがAIに作ってもらうので実装は出来ましたが、仕様通りになっているか信用できるかは怪しいところです。
日本語
1
0
0
72
折登 樹
折登 樹@MatchaChoco010·
@masuosuzuki 私はOSLについてあまり良く知らないのですが、概念的にはOSLのOSO実行系のだいぶ簡易版的な感じだとは思います。ただOSLはなんかLLVMでJITとかだと思うのですがそこまでのことはやっていないですね。MaterialXのnode graphを自前のレジスタベースbytecodeへloweringしてそれを実行時に解釈しています。
日本語
1
0
0
97
折登 樹 retweetledi
折登 樹
折登 樹@MatchaChoco010·
別のライト角度でNormalizedLambertとEONを交互に。Oren-Nayerはとくに後ろから光が当たるときは暗くなって正面から光が当たるときは明るめに出るという認識だが、multi scatteringでRGBが相互反射している分ちょっと暗くなってるように感じるのかな?
折登 樹 tweet media折登 樹 tweet media折登 樹 tweet media折登 樹 tweet media
折登 樹@MatchaChoco010

自作レンダラーにEONを実装した。エネルギー保存版Oren-Nayerだってさ。画像1枚めがNormalized Lambertで、2枚めがEONのroughness 1のやつ。 arxiv.org/abs/2410.18026

日本語
2
1
10
935
折登 樹 retweetledi
折登 樹
折登 樹@MatchaChoco010·
色付きの金属も扱えます。1枚目が今回実装したエネルギーを補償する方法でのsingle scatteringとmulti scatteringを比較するもので、比較のために2枚目が前に実装したCui et al. 2023のmulti scatteringの金色の場合。ちゃんと今回の方法も色味がmulti bounceで変わる部分が出来てる。
折登 樹 tweet media折登 樹 tweet media
日本語
1
3
30
1.5K
折登 樹 retweetledi
折登 樹
折登 樹@MatchaChoco010·
もう一個別の実用的なmulti-scatteringなGGXの実装として2017年の「Revisiting Physically Based Shading at Imageworks」のKulla-Contyのスライドのやつも自作レンダラに実装してみた。1枚目がsingle scatteringの金属とガラスで、2枚目がmulti scatteringの金属とガラス。
折登 樹 tweet media折登 樹 tweet media
日本語
1
6
24
1.2K