謹賀新年

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

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

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

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

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

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

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

今年を振り返る…。

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

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

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

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

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

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

延びます。

こんにちわPocolです。

Twitterで呟きましたが,
執筆中の書籍ですが,原稿が全然間に合わず年内の出版を見送りました。
大変楽しみにされている方には申し訳ありませんが,今しばらくお待ちください!!

勉強会ネタ。

頭が悪すぎるので,もう一度勉強し直したい。
一人で勉強し直すのは当然やるとして,
他にも勉強し直したい人がいれば,なんかイベントとしてやった方がいいのかね?

以下勉強しなおしたい内容。

・線形代数学
・微積分・極限
・射影幾何
・四元数
・モンテカルロ法
・QEM(Quad Error Metric)
・Progressive Mesh
・交差判定
・IK

執筆活動終わったら,ちまちま勉強し直したい。

Mathjaxで式番号をフォーマットするやりかた

かなり強引だけど,式番号をフォーマットするやり方。

<script type=”text/x-mathjax-config”>
MathJax.Hub.Config({
   TeX: {
       equationNumbers: {
           autoNumber: “AMS”,
           formatNumber: function (n) {return ‘8.’+n}
       }
   }
});
MathJax.Hub.Queue([“resetEquationNumbers”,MathJax.InputJax.TeX]);
</script>

これで式(8.1)みたいな感じにできる。

参考プログラム

簡単なツールを作るのに,ImGuiがかなり重宝してきたので,
これを機にImGuiを使ったライブラリをちょっと作ろうかと思い始めました。

そんなわけで,今すぐ動けるわけではないので,後で実装するために参考プログラムを一覧を書いておこうと思います。

ImGuizmo

ImGuiを使ったマニュピュレーター(ギズモ)のライブラリ。
https://github.com/CedricGuillemet/ImGuizmo

カラーピッカー

https://github.com/ocornut/imgui/issues/346

ノードベースエディタ

https://github.com/ocornut/imgui/issues/306

ドッキングパネル

https://github.com/ocornut/imgui/issues/351
https://github.com/nem0/lumixengine

タイムライン

https://github.com/nem0/LumixEngine/blob/timeline_gui/external/imgui/imgui_user.inl

プロファイラ

https://github.com/mikesart/gpuvis

タブコントロール

https://github.com/ocornut/imgui/issues/261
https://github.com/ocornut/imgui/issues/1083

シリアライズ・デシリアライズ

http://qiita.com/Ushio/items/827cf026dcf74328efb7

Undo/Redo

まともに実装しようとするとコマンドシステムを自前で構築するしかなさそう。

ImGuiのLuaバインディング

https://github.com/patrickriordan/imgui_lua_bindings

ドラッグ&ドロップ

https://github.com/ocornut/imgui/issues/143

GGXの語源って?

“Ground Glass” and solving for the “X” in the BSDF. を略してGGXらしい…。

GGXという単語が初出であるWalterの論文に曇りガラスが出ているので,なんとなく納得。

GPU Pro 8は出ないらしい。

そういえば,この間Twitterでbgfxの作者の方に教えてもらったのですが,
“GPU Pro 8″という名前の本は出ないらしいです。
どうもタイトル名が変わって”GPU Zen”という名前で出るみたいです。
この本の目次と表紙カバーが編集者を務めるWolfgang Engelが開設しているhttp://gpuzen.blogspot.jp/にて公開されています。

内容としては…

  • Rendering stable indirect illumination computed from reflective shadow maps
  • Real-Time Linear-Light Shading with Linearly Transformed Cosines
  • Scalable Adaptive SSAO

あたりが気になっています。
まだ,いつ出版か決まっていないようですが,はやく出ないもんですかね…。

ちなみに2番目のやつは,作者が
https://labs.unity.com/article/linear-light-shading-linearly-transformed-cosinesにてPDFを公開してくれています。