2018-03-01から1ヶ月間の記事一覧

Hashed-Octree(ハッシュ化八分木)による空間分割を実装した

そろそろレイトレがしたい。具体的に言えばフォトンマッピングでGIを実装したい。 だが、フォトンマッピングを実装するには現状あまりにも足りないものが多すぎる。 その最たるものが、高速な衝突判定アルゴリズムだ。 シンプルに設計されたレイトレ専用のア…

Variance Shadow Maps(分散シャドウマップ)を実装した

Variance Shadow Maps(分散シャドウマップ)を実装しようと思う。 これはソフトシャドウの実装の一つで、シャドウのエッジをなんかいい感じにする技術だ。まず、普通のシャドウマップの実装を再掲する。 bool IsVisibleFromDirectionalLight(float4 shadowC…

Cube Map Reflectionを実装した

Cube Map Reflectionを実装した。前回、スカイボックスを実装したが、そのスカイボックスのリソースであるキューブテクスチャを環境マップとして用いて、リフレクションを実装することにする。といっても、一応、拡張性を持たせるために、シーン内に複数の環…

SkyBoxを実装した

SkyBoxを実装した。 といっても、リフレクションの前哨戦みたいなものだが。 リフレクションは基本的には環境マップで実装される。理想的には、そのオブジェクトを中心とする環境マップを一個一個作ることだが、動的な環境マップとなるとあまりにも現実的で…

Omnidirectional Shadow Mapping(全方位シャドウマップ)を実装した

全方位シャドウマップを実装した。 資料が少なくて実装が結構手間だった。 こういうときよく頼りにしているもんしょという方のブログでは、全方位マップは双方物曲面かつディファードレンダリングでの実装だったので、参考にできなかった。私はキューブマッ…

HLSLのTextureCubeの情報が少なすぎる

ランス10やってたら気づいたら土日が終わっていた さて、ポイントライトの全方位シャドウや、リフレクション用の環境マップの実装をしているのだが HLSLのTextureCubeの情報が少なすぎる c++ - Direct3D 11: How to access cube map faces in memory on the …

レンダリングエンジン進捗まとめ

前回のポエムが長くなり過ぎたので二回に分けた。 現在、レンダリングエンジンに対するコミット数は104。 簡単に振り返ってみる。 1日目あたり 最初の方のコミットは、なんというか、コピペコードばかりだ。酷過ぎる。とりあえず動くところ見るためとはいえ…

レンダリングエンジンの開発を始めた。

レンダリングエンジンの開発を始めた。 今は割とやる気があるので、このやる気が継続するよう、開発日記をつけるためにブログの開設をした。 私はゲームプログラマであるので、レンダリングとは一般的なほかのエンジニアよりも縁が深い立ち位置だが、今まで…