Bagikan melalui


Sintaks Variabel Efek (Direct3D 10)

Variabel efek dideklarasikan dengan sintaks berikut.

Sintaks

DataTypeVariableName [ : SemanticName ] <Anotasi>;

Nama Deskripsi
DataType Jenis dasar atau tekstur apa pun.
VariableName String ASCII yang secara unik mengidentifikasi nama variabel efek.
SemanticName String ASCII yang menunjukkan informasi tambahan tentang bagaimana variabel harus digunakan. Semantik adalah string ASCII yang dapat berupa nilai sistem yang telah ditentukan sebelumnya atau string pengguna kustom.
Anotasi Satu atau beberapa bagian informasi yang disediakan pengguna (metadata) yang diabaikan oleh sistem efek. Untuk sintaks, lihat Sintaks Anotasi (Direct3D 10).

 

Variabel efek yang dideklarasikan di luar semua fungsi, dianggap global dalam cakupan; variabel yang dideklarasikan dalam fungsi bersifat lokal untuk fungsi tersebut.

Contoh

Sampel BasicHLSL10 menggunakan variabel global tanpa semantik untuk warna material, properti cahaya, dan matriks transformasi.

Contoh ini menggambarkan variabel efek global.

float4 g_MaterialAmbientColor;      // Material's ambient color
float4 g_MaterialDiffuseColor;      // Material's diffuse color
float3 g_LightDir[3];               // Light's direction in world space
float4x4 g_mWorld;                  // World matrix for object

Contoh ini menggambarkan variabel efek yang lokal ke fungsi shader.

VS_OUTPUT RenderSceneVS( ... )
{
    float3 vNormalWorldSpace;
    float4 vAnimatedPos;

    // shader body
}

Contoh ini menggambarkan parameter fungsi yang memiliki semantik.

VS_OUTPUT RenderSceneVS( float4 vPos : SV_POSITION,
                         float3 vNormal : NORMAL,
                         float2 vTexCoord0 : TEXCOORD0,
                         uniform int nNumLights,
                         uniform bool bTexture,
                         uniform bool bAnimate )
{
  ...
}

Contoh ini menggambarkan mendeklarasikan variabel tekstur.

Texture2D g_MeshTexture;            // Color texture for mesh

Pengambilan sampel tekstur dilakukan dengan sampler tekstur. Untuk menyiapkan sampler yang berlaku, lihat jenis sampler.

Format Efek