0基本的にUnityURPレンダリングパイプラインのAdditionalLit(スポットポイント光源)の実装を見つけようとします

コンテンツ

0は実際に最高です

コードの性質

コードエントリ

 コード分​​析

コードロジック

コード

自分で練習する


0は実際に最高です

実際、それは0財団になることはできませんが、張三丰が言ったように、あなたが0財団である場合は、あなたの父を忘れてください

現在のUnityURPまたは標準シェーダーを今すぐ確認する場合

1-SisterLeleの「EssentialsofGettingStarted」に精通している場合は、2015年に発行され、2013年に書き始めました。優雅に書かれているので、Unityの内部シェーダーを確認してください。

2-プログラミングの経験が長年あると、理解できないコードは間違いなく良いコードだと思うでしょうが、最近は理解できないコードは100年前のアセンブリ言語にすぎないことをよく考えてください。

それで、最初に宮殿から、そして次に見下ろします:

コードの性質

コードエントリ

<Packageディレクトリの下にあるShaderディレクトリを見つけます>

 

 コード分​​析

<多くのコード、それを見ないでください、ただ一文:XXXXは引用されています>

 600行のコード、「他の人は読む必要がない」というこの文だけが役に立ちます

コードロジック

スポットライトポイント光源を検出するロジックは、ファイルLitForwradBase.hlslにあります。

最終的に、SurfaceDataが初期化され、このパラメーターがUniversalFramentPBR()メソッドに渡されて、最終的な色が計算されます。

 

half4 LitPassFragment(Varyings input) : SV_Target
{   
    //.............
     SurfaceData surfaceData;
    InitializeStandardLitSurfaceData(input.uv, surfaceData);

    InputData inputData;
    InitializeInputData(input, surfaceData.normalTS, inputData);

    half4 color = UniversalFragmentPBR(inputData, surfaceData);

コード

自分で練習する

おすすめ

転載: blog.csdn.net/avi9111/article/details/124305516