NEUROMANTIC

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

ShaderToy

Bilinear Interpolationについてメモってみた

あくまでメモの用途で書いたものですので、間違った部分があるかもしれません。 Bilinear Interpolationとは 二重線形補間(Bilinear Interpolation)は、XとYとなる2次元で投影できる値を、2次元的に線形補間する方法である。 基本的なやり方は、線形補間…

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

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

おまけ。ShaderToyの機能の使い方を集めた記事

Special Shadertoy featuresshadertoyunofficial.wordpress.com 前の「ShaderToyで線が引きたくて実装・メモを書いてみた。」のShaderToyページで、ある方が助言をくれました。これを参考にして見ると良いよということでしょうね。ありがとうございます。

ShaderToyで線が引きたくて実装・メモを書いてみた。

ShaderToy又はKodeLifeなど、glslを使っているところでシェーダーで線が引きたくて実装をやってみました。 私が作った線分レンダリング関数は、 線分の太さが調整可能 線分の位置を任意に配置可能 線分の色を単色かグラデーションで指定可能 の機能を持って…

ShaderToyでカメラのテストをやってみた。

「レイマーチング」*1を実装させるために、まず下準備としてカメラを実装してみました。 こっちで使うカメラは、View・Projectionマトリックスを使いません。(Projectionはあとで複雑になると使うかもしれませんね) なぜならシェーダーではViewの代わりに…

「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」を参照・分析・応用してみた。

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

ゆらゆら・ShaderToyのテンプレートコードのメモ

ゆらゆら www.shadertoy.com void mainImage( out vec4 fragColor, in vec2 fragCoord ) { // Normalized pixel coordinates (from 0 to 1) vec2 uv = fragCoord/min(iResolution.x, iResolution.y); float speed = 0.5f; vec2 p = uv * 5.0f; for (int i = …

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

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

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

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