Ölçeklendirme (Direct3D 9)
Direct3D uygulamaları, belirli bir basit görüntüden hangi piksellerin işleme hedef yüzeyine çizileceğini kontrol etmek için dekal kullanır. Uygulamalar, coplanar çokgenlerin doğru şekilde işlenmesini sağlamak için primitiflerin görüntülerine etiketler uygular.
Örneğin, bir yol yoluna lastik işaretleri ve sarı çizgiler uygulanırken, işaretler doğrudan yolun üstünde görünmelidir. Ancak, işaretlerin ve yolun z değerleri aynıdır. Bu nedenle, derinlik arabelleği ikisi arasında temiz bir ayrım üretmeyebilir. Arka temel öğedeki bazı pikseller ön ilkel öğe üzerinde işlenebilir ve tersi de geçerlidir. Sonuçta elde edilen görüntü, çerçeveden çerçeveye parıldayan şekilde görünür. Bu etki, z-fighting veya titreme olarak adlandırılır.
Bu sorunu çözmek için bir kalıp kullanarak arka temel öğedeki çıkartmanın görüneceği bölümü maskeleyin. Z arabelleğe almayı kapatın ve ön temel öğe görüntüsünü işleme hedef yüzeyinin maskelenmiş kapalı alanına işlendirin.
Bu sorunu çözmek için birden çok doku karıştırma kullanılsa da, bunu yapmak uygulamanızın üretebileceği diğer özel efektlerin sayısını sınırlar. Kalıp arabelleği, çıkartmaları uygulamak için kullanıldığında, diğer efektler için doku karıştırma aşamalarını serbest bırakır.
İlgili konular