Aracılığıyla paylaş


Çözünür, Soluk ve Çekmeler (Direct3D 9)

Uygulamalar giderek daha fazla film ve videoda yaygın olarak kullanılan çözünmeler, çekmeler ve solmalar gibi özel efektler kullanıyor.

Çözünmüş bir görüntüde, düzgün bir çerçeve dizisinde bir görüntü yavaş yavaş başka bir görüntüyle değiştirilir. Direct3D aynı etkiyi elde etmek için birden çok doku karıştırma kullanma yöntemleri sağlasa da, çözünürler için kalıp arabelleği kullanan uygulamalar, çözünürken diğer efektler için doku karıştırma özelliklerini kullanabilir.

Uygulamanız bir çözme işlemi gerçekleştirdiğinde iki farklı görüntü işlemesi gerekir. Her görüntüden hangi piksellerin işleme hedef yüzeyine çizilmiş olduğunu denetlemek için kalıp arabelleği kullanır. Bir dizi kalıp maskesi tanımlayabilir ve bunları ardışık çerçevelerdeki kalıp arabelleğine kopyalayabilirsiniz. Alternatif olarak, ilk çerçeve için bir temel kalıp maskesi tanımlayabilir ve bunu artımlı olarak değiştirebilirsiniz.

Çözme işleminin başında uygulamanız kalıp işlevini ve kalıp maskesini ayarlayarak başlangıç görüntüsündeki piksellerin çoğunun kalıp testini geçmesine neden olur. Bitiş görüntüsündeki piksellerin çoğu kalıp testinde başarısız olmalıdır. Ardışık karelerde kalıp maskesi, başlangıç görüntüsündeki piksellerin daha az ve daha azının testi geçmesi için güncelleştirilir. Kareler ilerledikçe, bitiş görüntüsündeki piksellerin sayısı az ve daha azı testte başarısız olur. Bu şekilde, uygulamanız herhangi bir rastgele çözünürlük desenini kullanarak bir çözünmesi gerçekleştirebilir.

Sönme veya solma özel bir çözümleme durumudur. Sönerken, kalıp arabelleği siyah veya beyaz bir görüntüden 3B sahnenin işlenmesine kadar çözülür. Soluklama tam tersidir, uygulamanız 3B bir sahnenin işlenmesiyle başlar ve siyah veya beyaz olarak çözülür. Soldurma, kullanmak istediğiniz herhangi bir rastgele desen kullanılarak yapılabilir.

Direct3D uygulamaları, çekme işlemleri için benzer bir teknik kullanır. Örneğin, bir uygulama soldan sağa çekme işlemi gerçekleştirdiğinde, bitiş resmi soldan sağa doğru başlangıç görüntüsünün üzerinde aşamalı olarak kaydırılıyor gibi görünür. Çözünürken olduğu gibi, art arda çerçevelerde kalıp arabelleğine yüklenen bir dizi kalıp maskesi tanımlamanız veya başlangıç kalıbı maskesini art arda değiştirmeniz gerekir. Kalıp maskeleri, başlangıç görüntüsünden piksellerin yazmasını devre dışı bırakmak ve bitiş görüntüsünden piksellerin yazılabilmesi için kullanılır.

Çekme işlemi, uygulamanızın bitiş görüntüsündeki pikselleri çekme işleminin ters sırasına göre okuması gereken bir çözünme değerinden biraz daha karmaşıktır. Başka bir ifadeyle, çekme hareketi soldan sağa doğru ilerlerse, uygulamanızın bitiş görüntüsünden sağdan sola pikselleri okuması gerekir.

Kalıp Arabellek Teknikleri