perintah ShaderLab: Login
perintah ShaderLab: Login

perintah ShaderLab: Login

Mengatur bias kedalaman di GPU.

Bias kedalaman, juga disebut offset kedalaman, adalah pengaturan pada GPU yang menentukan kedalaman di mana ia menarik geometri. Sesuaikan bias kedalaman untuk memaksa GPU untuk menggambar geometri di atas geometri lain yang berada di kedalaman yang sama. Ini dapat membantu Anda untuk menghindari efek visual yang tidak diinginkan seperti jerawat z-fighting dan bayangan.

Untuk mengatur bias kedalaman untuk geometri tertentu, gunakan perintah ini atau RenderStateBlock. Untuk mengatur bias kedalaman global, yang mempengaruhi semua geometri, gunakan CommandBuffer.SetGlobalDepthBias. GPU menerapkan bias kedalaman untuk geometri spesifik selain bias kedalaman global.

Untuk mengurangi jerawat, Anda dapat mencapai efek visual yang sama dengan pengaturan light bias; Namun, pengaturan ini bekerja berbeda, dan mereka tidak mengubah keadaan di GPU. Untuk informasi lebih lanjut, lihat Masalah bayangan.

Kompatibilitas pipa Render

Feature name Built-in Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
Universal Render Pipeline (URP) High Definition Render Pipeline (HDRP) Custom SRP
Offset Yes Yes Yes Yes

Usage

Perintah ini membuat perubahan pada state render. Gunakan blok Pass untuk mengatur state render untuk Pass itu, atau menggunakannya dalam blok SubShader untuk mengatur state render untuk semua Passes di SubShader.

Signature Example syntax Function
Offset <factor>, <units> Offset 1, 1 Menggambar geometri lebih dekat atau lebih jauh dari kamera, berdasarkan nilai yang diberikan.

Nilai parameter yang valid

Parameter Value Function
factor Mengambang, kisaran -1 melalui 1. Timbangan maksimum Z lereng, juga disebut kemiringan kedalaman, untuk menghasilkan offset kedalaman variabel untuk setiap poligon.

Polygons yang tidak sejajar dengan pesawat klip dekat dan jauh memiliki lereng Z. Sesuaikan nilai ini untuk menghindari artefak visual pada poligon tersebut.
units Mengambang, kisaran -1 melalui 1. Timbangan nilai penyangga kedalaman yang dapat diselesaikan minimum, untuk menghasilkan offset kedalaman konstan. Nilai penyangga kedalaman yang dapat diselesaikan minimal (satu unit) bervariasi oleh perangkat.

Nilai negatif berarti bahwa GPU menarik poligon lebih dekat ke kamera. Nilai positif berarti bahwa GPU menarik poligon lebih jauh dari kamera.

Examples

Kode contoh ini menunjukkan sintaks untuk menggunakan perintah ini di blok Pass.

Shader "Examples/CommandExample"
{
    SubShader
    {
         // The rest of the code that defines the SubShader goes here.

        Pass
        {    
              // Sets the depth offset for this geometry so that the GPU draws this geometry closer to the camera
              // You would typically do this to avoid z-fighting
              Offset -1, -1

              // The rest of the code that defines the Pass goes here.
        }
    }
}

Kode contoh ini menunjukkan sintaks untuk menggunakan perintah ini dalam blok SubShader.

Shader "Examples/CommandExample"
{
    SubShader
    {
         // Sets the depth offset for this geometry so that the GPU draws this geometry closer to the camera
         // You would typically do this to avoid z-fighting
          Offset -1, -1

         // The rest of the code that defines the SubShader goes here.        

        Pass
        {    
              // The rest of the code that defines the Pass goes here.
        }
    }
}
perintah ShaderLab: Login
perintah ShaderLab: Login