2.「unityshader中級編」頂点シェーダモデルデータの取得

1246 ワード

前節では、POSITIONを使用してモデルの頂点位置を取得しましたが、より多くのモデルデータを取得したい場合は??たとえばテクスチャ座標、法線方向を取得するには
答えは構造体
            //                  
            struct a2v {
                float4 vertex : POSITION;
                //POSITION                   vertex
                float3 normal : NORMAL;
                //NORMAL                 normal  
                float4 texcoord : TEXCOORD0;
                //TEXCOOD0           uv  texcoord  
            };

モデルデータを含むa 2 v構造体を定義した.unityでは、このマテリアルのmeshrenderコンポーネントを使用して、上記の意味のデータを入力します.drawcallを呼び出すと、meshrenderコンポーネントはレンダリングしたモデルデータをunityshaderに渡します.頂点カラーなど、モデルデータはたくさんあります.構造体を定義することで、頂点シェーダでこれらのモデルデータにアクセスできます.
頂点シェーダ(Vertex Shader)とシェーダ(Shader)のインタラクション
頂点シェーダ(Vertex Shader)からモデルのテクスチャ座標(Texture Coordinates)などのデータを出力し、法線をメタシェーダに渡す場合、どのようにインタラクティブになりますか?
            //           
            struct v2f {
                float4 pos : SV_POSITION;
                //SV_POSITION    pos                 
                fixed3 color : COLOR0;
                //COLOR0        
            };

v 2 f構造体は、頂点シェーダとチップシェーダの間でメッセージを伝達するために使用され、頂点シェーディングは頂点ごとに呼び出され、チップシェーダはチップごとに呼び出され、チップシェーダの入力は実際には頂点シェーダの出力と差を付けた後に得られる歓迎の私の微博に注目し、大家に喜びをもたらす.