超雑訳 Fast Ray Tracing by Ray Classification

Share

前回はレイトレ合宿用に論文を読んだのですが,肝心のところが書いてなかったので,今回はレイの分類について詳細が書いてある1987年の論文を読むことにします。
毎度のごとく,誤字・誤訳が多々ありますので,間違いを指摘して頂ける場合は正しい翻訳例と共にご指摘いただけると幸いです。

(さらに…)

最近悩んでいること。

Share

こんにちわ,Pocolです。

たまには日記っぽいことを書いてみようかと思います。
最近の悩みは,シェーダバリエーションの生成とシェーダのマルチプラットフォーム対応どうしようかな?ってことで悩んでいます。
仕事で使っているものは他の方が書いてくれたもので,特に問題なく使っています。
で,「プライベートで使う方はどうしようかな?」ってのが今回の悩みです。
仕事で使っているのと同じものを作るのが手間というのと,
#ifdefのオンパレードが死ぬほど嫌いなので,趣味のコーディングではそういった手法は使いたくないです。
ソースコードが汚くなる。

で,比較的に綺麗に書けたなぁっていうのが,fxファイル。
前職で有名な方もいまだに使っていたというのと,バンジーのスライドだったような気がするのですが,やっぱりfxっぽい記述できるようにしていたんですよね。あとunityもcgfxっぽい感じなので,「やっぱりfxファイルでいいんじゃないの?」って気がして,fxシステム欲しいなぁ・欲しいなぁと思って,ずっと放置していました。
ようやく仕事がひと段落付きそうなので,ちろっと作ってみました。
https://github.com/ProjectAsura/asfxc

あんまり,凝ったツールにすると面倒なので,シェーダの組み合わせだけをとりあえず作るようにしてみました。
組み合わせはxmlファイルで吐き出すので,あとで別ツールにかまして… みたいなことができます。…というかその目的で作っています。
あくまでも,バリエーション生成用のHLSLソースコードと,バリエーションの羅列を出力だけする簡単なツールです。
雑ですが,とりあえずバリエーション生成はこれで解決!

あと残ったのは,マルチプラットフォーム対応ですね。
会社ではHLSLcc使っているみたいなんですが,HLSLccのフラグに関するドキュメントっぽいものがあんまりなくて,ちと不親切。
で他にないかなぁ…って探していたら,ありました。
https://github.com/microsoft/ShaderConductor

Microsoftが作ってくれているみたいなのです。
Metalにも対応しているみたいなので,「あ、これでいいじゃん!」って思ったので,今のところこれで行こうと思います。
これで,マルチプラットフォーム対応も(ほぼ)問題ないです。

シェーダのワークフローは下図みたいな感じになります。

「ほぼ」と言ったのにはワケがって,それでまた悩み中です。
悩み解決の進展があったら,またなんか書こうとかと思います。

深度バイアスについて

Share

お久しぶりです。Pocolです。
最近お仕事の関係で,たまたま他社さんのソースコードを観る機会があったのですが,そのソースコードのコメントに自分のホームページのURLが記載してありました。
で,見てみたら深度バイアスの説明している個所だったのですが…
「これ正確じゃないな…」と今更ながら気づいてしまったので,訂正を兼ねてここで説明することにします。

深度バイアスについては,”Real-Time Rendering Forth Edition”の7.5にまとめられています。

(さらに…)

私的メモ 8/2

Share

<A3Dのバージョンアップ(予定)>
 APIの仕様変更
  ・DescriptorSetの廃止
  ・ブレンド周りの設計ミスの修正
  ・UnorderedAccessViewの追加・StorageViewの廃止
  ・ICommandListにSetConstantBuffer()を追加
  ・ICommandListにSetTextureView()を追加
  ・ICommandListにSetUnorderedAccessView()を追加。
  ・ShaderAPIをHLSLに統一
  ・独自シェーダバイナリの策定
  ・IShaderReflectionインタフェースの追加
  ・遅延リソース破棄の実装
  ・BufferDescとTextureDescのメンバーを変更。
  ・各コンソール用に継承コマンドリストを追加。
  ・シェーダコンバーターの作成
  ・MetalAPIのサポート
  ・リターンコード列挙体の追加
  ・サンプルを整備
  ・NX版Vulkanのサポート廃止

勉強メモ 2018/04/28

Share

今日はVeachの論文のChapter.2の2.2までを見ました。
幾つか分からない(or忘れている)内容があるので,あとで確認するためにメモしておきます。

・ニュートン・コーツ法
・中点法
・台形法
・シンプソン法
・ガウスルジャンドル法
・テンソル積
・Bakhvalovの定理

そのうち…

Share

会社で,大気散乱とレイマーチを用いたボリューム雲のプログラムを作りました。
時間頑張った割には,見た目がいまいちなので,
時間が出来たらもう一度勉強しなおして,調整かけたいなぁと思っています。

勉強会やった

Share

こんにちわ,Pocolです。
牛歩ですが,頑張って執筆作業やっています。

先日,会社で勉強会やるために資料を作ったので,折角だから公開しようかなと思いました。
オリジナル版の資料は320枚程度あるのですが,いくつか外に出せないものとかが混じっているので,
ちょっと手を加えて編集した資料をアップロードしました(それでも237枚あります)。
もし良かったら,見てみてください & 間違いがあったら教えてください!