なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

HLSL

GLSL の mod と HLSL の fmod は同等ではない話

ちょっと探せば出てくると言えば出てくるんですが、 GLSL コード (主に ShaderToy とか) を HLSL コード (主に Unity とか) に書き換える際、 以下のように解説しているサイトがあります (もしくは HLSL から GLSL パターンでも)。 GLSL の mod は HLSL の f…

Unity でカメラが近づいたら消えていくシェーダーを作る

最近シェーダーを書くことが増えてきた私です。 ということで今回は「近づくと消える」シェーダーを書きました。 Vertex Shader は変わりないので、 Fragment Shader のみ float4 fs(v2f i) : SV_TARGET { const float d = abs(length(i.worldPos - _WorldSp…

テクスチャを切り替えられるシェーダーを作りたい

暫く前に、Texture2DArray を作成する記事を書いたのですが、その続きです。 Texture2DArray を元に、テクスチャを切り替えられるシェーダーを作ってみます。 といっても実装は簡単。 まずは Texture2DArray を宣言しておきます。 あとは、テクスチャを切り…

VRChat で自分にしか見えないオブジェクトを実装したい

自分にだけ見えると都合が良いもの (例: 表情確認カメラ) を実装したいとき、 そういったものを実装する為の方法のメモです。 実装する前に、まずセットアップが必要です。 私は VRC 始めてからの 1 年間やってなかったらしいのでやり方も書いておきます。 …

シェーダー開発でも Visual Studio のデバッグ機能を使いたい

いちいち Fragment で色として出力するのよく分からないしやってられない!ということで、 Visual Studio を使ってのデバッグ方法をメモしておきます。 デバッグ方法まではたどり着くんだけど、そこから先がちょっとわかりにくかった。 いつも通り環境は以下…

ドメインシェーダーで一意な ID を頂点に割り振りたい

そんなことをする必要があるかどうかはさておき、やりたくなったのでメモしておきます。 前提環境は以下の通り : Unity 2018.4.20f1 Personal DirectX 11+ 板ポリ (Quad) を分割する Vertex Shader は頂点をそのまま渡すだけのものを、 Hull Shader は下のよ…