2018-01-01から1年間の記事一覧

Visual Studio向けに使うCMake

CMake Visual Studioのバージョンを固定できず,複数のバージョンでビルドをしなければいけない場合があります。 slnファイルやprojファイルのXMLを直接編集したり,Visual StudioのUIからビルド設定を手作業で編集するのはとても面倒な作業ですが, そんなとき…

Temporal Anti-Aliasingの実装

Temporal Anti-Aliasing Temporal Anti-Aliasing(TAA)とは,アンチエイリアスの一種です。 前に組み込んだ,FXAAとかSMAAは1フレームの情報から, スクリーンスペースで画像処理的に行うアンチエイリアスでした。TAAは過去のフレームも使ってサンプリング数を稼…

RICHO THETAでHDRIの作成

RICHO THETA 360度カメラである,THETA SCを買いました。 解像度は静止画で5376x2688で,だいたい4K相当です。 マルチブラケット撮影もできるので,Photomatix ProみたいなHDRIの合成ソフトを使ってみたら,すぐHDRIができました。 http://cgcompo.blog134.fc2.…

モーションブラーの実装 その2

前にも,モーションブラーの実装を行いました。 このときは「A Reconstruction Filter for Plausible Motion Blur」という論文をそのまま実装したのですが, 余りにもそのまま実装しただけだったので,もう少しモーションブラーを考えてみます。 カメラモーショ…

トーンマップのLUT化

トーンマップパスの修正 以前,トーンマップや カラーコレクションを実装しましたが, 思うところあって,パスを次のように修正しました。 前は,パス内部で直接トーンマップ関数の計算をしたり,色行列を乗算していました。 それだと,組み合わせが膨大になり,用…

歪曲収差の実装

歪曲収差 レンズを通した光が,像となるときに歪んでしまう収差のことです。 大雑把に言えば魚眼レンズみたいな歪みです。 https://en.wikipedia.org/wiki/Distortion_(optics) http://www.nikon-instruments.jp/jpn/learn-know/microscope-abc/learn-more-mi…

SMAAの組み込み

SMAA スクリーンスペースのアンチエイリアスとして,FXAAを組み込みました。 今回は,もう少し綺麗になるらしい,スクリーンスペースのアンチエイリアスであるSMAAを組み込んでみます。 http://www.iryoku.com/smaa/ https://github.com/iryoku/smaa UnityのPos…

ImGuiでデバッグツール

以前,ImGuiの導入をしてから, 簡易的なプロファイラを作ったりしていたのですが, 思うところあって,いろいろ作り直しました。 いかにも開発中って感じの画面になって良いです。 プロファイラはツリー表示を導入したり,再帰構造を縦に並べて見やすくしてみた…

地形のテッセレーション

ワンダと巨像を遊んでいたら地形を作りたくなりました。 テッセレーション https://msdn.microsoft.com/ja-jp/library/ee417841(v=vs.85).aspx http://www.nvidia.co.jp/object/tessellation_jp.html テッセレーションはシェーダーパイプラインのステージの…

小ネタ : スクリーンスペースの矩形描画

小ネタです。 以下,DirectX系を考えています。 1つの三角形で矩形のUVを描画する 普通四角形のテクスチャを画面全体に表示しようとすると,こんな感じでスクリーンスペースで2つの三角形を描くかと思います。 これと同じことを,大きな三角形一つで実現できま…

周辺減光の実装

周辺減光 カメラで撮った絵の画面中心から離れるほど暗く見えるような効果を周辺減光と言います。 最近のゲームでもよく見かける効果です。 アーティスティックな効果の他にも,グレア効果など スクリーンスペースのエフェクトにおいて,画面端の境界によるア…

ライトシャフトの実装

ライトシャフト 前回のフォグで, レイリー散乱やミー散乱のような,視線方向と光源方向から光の散乱の度合いが変わる現象を実装しました。 しかしながら,前回までの方法では,遮蔽物のことを何も考えていなかったので,光源が遮蔽されている場合でもレイリー散…