Mengakses sifat naungan di Cg / HLSL
Reflektor built-in termasuk file

Menyediakan data simpul untuk program vertex

Untuk Cg / HLSL program vertex, data vertex MeshGrafik utama primitif Unity. Mesh membuat sebagian besar dunia 3D Anda. Unity mendukung mesh poligon triangulat atau Quadrangulasi. Nurbs, Nurms, permukaan Subdiv harus dikonversi ke poligon. More info
Lihat di Glossary
dilewatkan sebagai input ke fungsi naungan simpul. Setiap input perlu memiliki speficied semantic untuk itu: misalnya, input POSITION adalah posisi simpul, dan NORMAL adalah simpul normal.

Seringkali, input data simpul dinyatakan dalam struktur, bukannya daftarnya satu per satu. Beberapa struktur simpul yang umum digunakan didefinisikan dalam UnityCG.cginc termasuk file, dan dalam kebanyakan kasus cukup hanya untuk menggunakannya. Struktur:

  • appdata_base: posisi, normal dan satu koordinasi tekstur.
  • appdata_tan: posisi, tangent, normal dan satu koordinat tekstur.
  • appdata_full: posisi, tangent, normal, empat koordinat tekstur dan warna.

Sitemap Ini warna Example: mesh berdasarkan normal, dan menggunakan input program vertex:shaderProgram yang berjalan di GPU. More info
Lihat di Glossary
colors the mesh based on its normals, and uses appdata_base as vertex program input:

Shader "VertexInputSimple" {
    SubShader {
        Pass {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"
         
            struct v2f {
                float4 pos : SV_POSITION;
                fixed4 color : COLOR;
            };
            
            v2f vert (appdata_base v)
            {
                v2f o;
                o.pos = UnityObjectToClipPos(v.vertex);
                o.color.xyz = v.normal * 0.5 + 0.5;
                o.color.w = 1.0;
                return o;
            }

            fixed4 frag (v2f i) : SV_Target { return i.color; }
            ENDCG
        }
    } 
}

Untuk mengakses data simpul yang berbeda, Anda perlu menyatakan struktur simpul sendiri, atau menambahkan parameter input ke naungan simpul. Vertex data diidentifikasi oleh Cg / HLSL semantics, dan harus dari daftar berikut:

  • POSITION adalah posisi simpul, biasanya float3 atau float4.
  • NORMAL adalah vertex normal, biasanya float3.
  • TEXCOORD0 adalah koordinat UV pertama, biasanya float2, float3 atau float4.
  • TEXCOORD1, TEXCOORD2 dan TEXCOORD3 adalah koordinat UV ke-2, masing-masing.
  • TANGENT adalah vektor tangen (digunakan untuk pemetaan normal), biasanya float4.
  • COLOR adalah warna per-vertex, biasanya float4.

Ketika data mesh mengandung komponen yang lebih sedikit daripada diperlukan oleh input naungan simpul, sisanya diisi dengan nol, kecuali untuk komponen .w yang default ke 1. Misalnya, koordinat tekstur jala sering 2D vektor dengan hanya x dan komponen y. Jika naungan simpul menyatakan input float4 dengan semantik TEXCOORD0, nilai yang diterima oleh vertex shaderProgram yang berjalan pada setiap simpul model 3D ketika model sedang diberikan. More info
Lihat di Glossary
akan mengandung (x,y,0,1).

Contoh penggunaan teknik ini untuk memvisualisasikan data simpul di Built-in Render PipelineRangkaian operasi yang mengambil isi dari Adegan, dan menampilkannya di layar. Unity memungkinkan Anda memilih dari pipa render yang dibangun sebelumnya, atau menulis sendiri. More info
Lihat di Glossary
, lihat Visualizing vertex data.

Mengakses sifat naungan di Cg / HLSL
Reflektor built-in termasuk file