NEUROMANTIC

自分でC/C++/UE4/Graphics/ゲームなどをやったことをメモするブログ

Computer Graphics

CPUレイトレイサープロジェクトの進捗報告。

「Assassin's Creeds オデッセイ」やりながらゆっくりと実装しています。

CPUレイトレーシングプロジェクトでのAABB実装の愚痴

今リリースしているバージョンは、素のままにレンダリングしちゃっていて複雑なモデル(トーラスなど)をレンダリングしようとすると急に時間が大きくなることが生じます。 なのでリアルタイムレンダリングでよく使われるAABBをこっちにも実装して、レイ(光…

CPUレイトレーシングプロジェクトの進捗報告

github.com

「Archieve」물리 기반 쉐이더 Slideshare 2개 메모

Archieved専用の記事です。韓国語で書かれているため、日本語への翻訳は時間があるときやらせてもらいたいと思います。

「Archive」Wrapped Diffuseについた韓国語のメモ

Archieved専用の記事です。韓国語で書かれているため、日本語への翻訳は時間があるときやらせてもらいたいと思います。

「SH-RayTracer」の中間報告

github.com

Raytracerの進捗

neuliliilli.hatenablog.com の続きです。 チュートリアルを見ながらも、自分なりのスタイルで実装しております。

簡単なRayMarching(レイマーチング)を実装してみた。

「ShaderToyでカメラのテストをやってみた。」に続き、半分くらい本格的なRayMarching(レイマーチング)を使用した描画を実装してみました。 面白かった!というか、数学の重要性が切実に感じられた気がします。まだ複雑なモデルは実装してみませんでしたが…

ボロノイ図(Voronoi)をUE4マテリアルでレンダリングしてみた。

マテリアル編集画面 UE4の勉強兼、ボロノイ図を実装して見ました。基本的なものですが、実装するために様々なページを探してみたりしましたのでいい経験でした。(かもしれない)

「Understaning BCn Texture Compression Formats」を読んでメモ

www.reedbeta.com GPUで支援しているBCnというテクスチャフォーマットはBC1からBC7まである。 BCnテクスチャフォーマットらの特徴は、読み込みをする時で圧縮されたデータが解凍されるのではなくて、GPUからあるテクセルの部分を使うときだけその一部分のデ…

「Heartfelt」を分析・KodeLifeで応用してみた。

www.shadertoy.com 分析しにくかったシェーダー効果でしたけど、なんとか分析して変数をuniformで作成してKodeLifeで実装してみました。(なお、不必要なコードも削除) CHEAP_NORMALSは除きます。コメントでは2倍見にくくなるよと書いていたんですが、実際…

「Advanced Terrain Texture Splatting」記事を分析・KodeLifeで実装してみた。

www.gamasutra.com 分析メモ 記事では2つの地形テクスチャマップに対して、3つの方法を提示しています。 単純にover operatorを使用してマップをブレンディング。(頭悪い) 各テクスチャのDisplacementかHeightマップの値をお互いに比較して、テクスチャ…

「Cathode」を参照・分析・応用してみた。

ブラウン管みたいにスキャンライン、そして色の滲みを表現するポストプロセッシングシェーダーを分析、応用してみました。

「Blistering Paint」シェーダーをShadeで真似してみた。

内容 成功例が出せてから後ほど追加します。🙏 Shade実装動画(失敗例) youtu.be 参照 GDC 2017: Substance pipeline and toolset for Paragon heroes w/ Brad Smith - YouTube https://www.artstation.com/artwork/xzDLvX

超簡単な炎シェーダーを実装してみた。

youtu.be 今更ですが、「Shade」というiOSのシェーダー作成アプリケーションを使用して超簡単な炎を作ってみました。「Shade」というアプリケーションにはHLSLまたはGLSLのdiscardとか、lerp(mix)という関数の機能を提供してくれるノードがないため、ちょ…

「8 Most Common 3D File Formats in 2019」のメモ

all3dp.com 3Dファイルの基本的な目的は、3D情報をテキストまたは特定のテンプレートを持ったバイナリファイルに込めたものである。 3D情報とは、Geometry, Appereance, SceneそしてAnimationsがある。3Dモデルのファイルの中では一部しか込められないものも…

DirectX11でGPUの作業時間を測定してみた

ImGuiで作業時間を測定する reedbeta.com DirectX11を勉強しながら、サンプルのGPUの各作業時間を測定するため検索してみたところ、ID3D11Queryというのを用いてGPUの時間を測定することがわかりました。 SH-D3D11サンドボックスプロジェクトのサンプル1と…

Primitive ShaderとかMesh Shaderとかを調べてみた。

今のGPUそしてグラフィックスで通用されているシェーダーレンダリングのパイプラインを纏めると以下になりそうです。 レンダリングパイプライン 独立パイプライン ~OpenGL 3.0 固定パイプライン なし ~OpenGL 4.0 VS > GS > FS なし OpenGL 4.0~ VS > TCS > …

最近GDC Vaultで見た動画まとめ

gdcvault.com 2017年に販売されたFPSゲーム、「Destiny」の多彩多様のグラフィック表現を描画するために独自のシェーダー言語「TFX」の仕組みとその周りのツール操作、最適化などのあらすじを発表したもの。 未だ技術の知識が足りない関係で個人としては30分…

Vulkanを触ってみました。

objファイルと、テクスチャーファイルを読み込みして、MSAAまで適用した姿 vulkan-tutorial.com 上のVulkanの基礎的な部分のチュートリアルサイトを参考にして、一番簡単な「オブジェクトの頂点読み込み」「Uniformバッファの値入力」「レンダリング」「MSAA…

ShaderToyで「Nier:Automata」の後処理っぽくレンダリングしてみた。

はじめに sawcegames.com 今回はスクエア・エニックスさんのNier Automataの様々な後処理効果をShaderToyで再現してみようかとします。上のリンクから提供するチュートリアルを見ながら、HLSLコードをShaderToyが支援するGLSLに移してみたいと思います。

ShaderToyで「アナログ画面」っぽくレンダリングしてみた。

はじめに 以前にやったプロジェクトの(けど結局限界性がはっきりしてて捨てざるを得なかった)OPGS16ゲームフレームワークでは、下のように昔のテレビでゲームをするようにする後処理がありました。