最近悩んでいること。

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枚あります)。
もし良かったら,見てみてください & 間違いがあったら教えてください!

謹賀新年

Share

明けましておめでとうござりまする。
本年度もProject ASURAをよろしくお願い致します。

昨年は長年勤めたS社を退社しまして,ゲームプログラマーになりました。
相変わらずS社を退社しても作っているのはライブラリとかエンジンとかと言われる類のものですが,
現代的な画を目指して,ある程度裁量を持たせて頂いて自由にプログラムさせてもらっていて,
本当に感謝しています。
会社変わるだけでこれだけ違うものかと…。
また,長年離れて失っていた現代的な3DCGへの意欲も復活しつつあります。

今年の抱負ですが,
「まずは昨年出版できなかった本を出版させたい!」
…というのが第一目標ですかね。

第二目標としては今作っているゲームをちゃんと世の中に出せるような形にしたいです。

第三目標としては,エフェクトライブラリ&ツールを完成させたいですね。
実はちまちまと趣味でライブラリとツールをコソコソ作っていまして,(社内で作ろうとすると露骨に嫌な顔をされるので…)
前の職場でも結局(まともに使える)エフェクトツールが無くて困っていたりや,
HDRTV対応などで見た目が結構変わるという問題がちょっとずつ出ていまして,
それを改善するべくエフェクトツールの設計実装を開始しています。
たぶん,ある程度形になったらオープンソースで公開すると思いますので,
是非ともご協力いただける方は,ご意見ご感想などを頂戴できればと思っています。

昨年度は執筆の関係で,ほぼ更新することがありませんでしたが
執筆完了次第,また更新を再開しようと思いますので

今年もどうぞよろしくお願い致します。

今年を振り返る…。

Share

ちょっと早いですが…
今年の振り返りをやっておこうと思います。

今年は6年間勤めていたミドルウェア会社を辞めて,とあるゲーム会社に転職しました。
HLSLからGLSLのクロスコンパイルツール作ったり,立体視やったり,ポストエフェクトのポーティングやったりとか,とあるプロジェクトを抜けてからはそれなりに面白い仕事回してもらいました。
が,仕事としては他に回せるものが無いから仕方なく回してやる!的な感じがしたので,やっつけ仕事だったような気がします。そういったことから「あ、自分ここにいても意味ないんだ。」というのをヒシヒシと感じました。
それが転職する一番の理由だったと思います。会社に残って希望があったり,自己満足できるなら残っていたと思いますが,仕事をやっても何にも満たせるものが無い状況でした。
やはりあのまま残っていても,腐る一方だったので良い選択をしたと思っています。

ちなみに,今はゲームには関わるけどゲームプログラムは書かずに相変わらずライブラリを書いています。
これまで,ミリオンセラータイトル等には間接的ながら関わっていますが,スタッフロールには一度も載せてもらったことが無いので今回でようやく初スタッフロールを経験できそうです。
ちゃんと完成したらどういう感じで載るんでしょうね。完成までまだまだ時間があるので,ちょっとずつブラッシュアップして現代的な画に仕上げていきたいなぁと思っています。

一方残念だった点は,年内に本の出版を果たせなかったことですね。
色々な人に迷惑をかけておきながら,ちゃんと間に合っていないという所が,本当に申し訳ない!というしかないところです。
来年のどっかでちゃんと本屋さんに並ぶように善処していきたいです(年末年始で頑張ります)。
また書籍については,出版間際になったら告知しようと思います。もうしばらくお待ちください。

あとは,レイトレ合宿ですかね…
来年はもうちょっとマシなレンダリング結果を出したいですね。来年やりたいテーマも決まったので,少しずつ進めたいですね。
何か本当最近凄い人ばっかで,ここにいて良いのかな~?と思うこともありますが,たぶん,ここでビビッて尻込みしてしまうとチャンスを逃しそうな気がするので,
へぼいプログラムだろうが何だろうが,恥をかこうがかかまいが,レイトレ合宿は毎年参加するようにしていきたいです!

そんなわけで,皆様良いお年を…。