ES 1.0 size işlemek-to-doku yaratıcı istediğiniz etkiyi elde etmek için kullanabilirsiniz, ancak bu dolgu oranı açısından masraflı olması olasıdır. Gamasutra parıltı Tron 2.0 oyunu sağlandı nasıl an (old) article var - o ES 1.0, sabit bir boru hattı gibi olduğu için DirectX 7.0 yorumlarınızı özellikle dikkat isteyeceksiniz. muhtemelen sadece ziyade ışıltı beri orijinal ile karıştırılarak daha Gauss görüntüyü görüntülemek istediğiniz durumda ilgilendiğiniz hepsi
makalenin Benim özetidir.
- tüm satırları işlemek normal, katı saç çizgisi çizgileri olarak bir dokuya. Bu dokuyu kaynak doku olarak adlandırın.
Ben yatay bulanıklık doku arayacağım başka doku, için, diyelim ki, beş kere sadece render kaynak dokusunu alıp çizerek buna doğrusal yatay bulanıklık geçerlidir. Bir kopyayı opaklık 1.0 ile x = 0 ofsetinde çizin, iki kopya daha çizin - biri x = +1 ve bir de x = -1 - opaklık 0.63 ve bir son iki kopya - biri x = +2 ve bir x = -2'de 0.17'lik bir opaklıkla. Katkı harmanı kullanın.
- , yatay bulanıklık dokusunu alarak ve temelde aynı adımları uygulayarak ancak x ofsetleri yerine y ofsetleri kullanarak, buna dik dikey bir bulanıklık uygular.
Bu opaklık sayıları, this page adresindeki 2d Gauss çekirdeğinden türetilmiştir. Çizgilerinizin dışına doğru düşmeyi etkilemek için onlarla oynayın. Eğer görünüşte on tam ekran dokulu ekliyoruz çizer artı bazı karetamponu takas:
burada yer alan ekstra maliyetler
Not. Multitexturing kullanarak muhtemelen daha az çekilişle kurtulabilirsiniz. Gölgelendirme yaklaşımı, tek geçişte yatay ve dikey adımlar yapabilir.
senin doku boyutu sihirli çizginin boyutunu artırmaz. Tekstüre çalışmanın yanlış bir fikri var. –
Tamam, 2d puanlık bir diziye ve dokuya (veya OpenGL ES ile bu tür bir çizgi çizmek için ne gerekiyorsa) sahip olan bu etkiyi nasıl elde ederim? – michael
Muhtemelen pixel shader kullanılarak yapılabilir. Çizginizi normal olarak çizin ve ardından 3 kez kutu bulanıklığını kullanın. – Rekin