NinaLabo

個人ゲーム開発者の技術メモ

memo

【memo6】フラグメントシェーダーで四角形を描く(Unity)

【今日のまとめ】 ・足しても掛けても四角形は描ける模様 ------------------------------------ Unity でゲームは作っていますが、Shader も 画像処理も初心者です。 アウトプットばかりだと腐っていくので、毎日1時間程度は自分の知らないことを少しずつイ…

【memo5】シェーダーで step 関数を使ってみる(Unity)

【今日のまとめ】 ・フラグメントシェーダーで if 文 は遅いらしい ・if 文 の代わりに step関数が使える。ただし、順序や不等号は要注意。 x >= edge x <= edge x > edge x < edge step(edge,x) step(x,edge) 1.0 - step(edge,x) 1.0 - step(x,edge) ------…

【memo4】float4 って何?(Unity)

【今日のまとめ】Shader2Scene ・float4 は ベクトル型 (Unity の シェーダー言語 のベースとなる HLSL 言語では、基本的な文法はC/C++に準ずるが、グラフィックスプログラムを記述するのに適した専用のベクトル・行列型や関数を備えている) // ----------…

【memo3】フラグメントシェーダーで distance を使ってみる(Unity)

【今日のまとめ】Shader2Scene ・SV_TARGET は フラグメントシェーダーのセマンティクスの1つで、戻り値に色を返すことを意味している ・シェーダーでは距離を取得するのに distance という組み込み関数が使える // ------------------------------------ Un…

【memo2】はじめてのフラグメントシェーダー(Unity)

【今日のまとめ】Shader1Scene フラグメントシェーダーには Passブロック が必要 vert_img は Unityが標準で用意した頂点シェーダーの関数で、フラグメントシェーダーに対して、uv座標が入ったv2f_img型の変数を渡す // -----------------------------------…

【memo1】Unity の Quad と Plane の違い

【今日のまとめ】 Plane (プレイン)は 1辺10単位で 三角形 200 個! Quad (クワッド)は 1辺1単位で 三角形 2個! 処理負荷はQuadのほうが軽いので、単純に画像や動画を1枚貼るだけならQuadのほうが良さげ。 docs.unity3d.com // ----------------------…