GLSL ile nasıl etkili bir çiçek gölgelendirici oluşturabilirim?


12

İnternette GLSL kullanarak çiçeklenme efekti oluşturma ile ilgili kaynakları araştırdım, ancak hiçbir şey bulamadım. Philip Rideout'un web sitesindeki eğitim iyi olsa da , Nvidia GPU'mda çok kötü performans gösteriyor.

Birisi bana bu soruna nasıl yaklaşmalı ve bir çiçeklenme etkisinin oldukça etkili bir uygulamasını nasıl yapmalıyım?


1
Açık kaynaklı bir java 3d motoru olan Ardor3d, bir çiçek gölgelendiriciye sahiptir. Açık kaynak olduğundan bunu kolayca kontrol edebilirsiniz (www.ardor3d.com). Ama temelde, sadece kopyalamak framebuffer,
aşağı

1
Ne tür GPU'nuz var?

1
Hangi GPU / ekran kartına sahip olduğunuzu bize bildirmek çok önemlidir. +! @JoshPetrie
Patrick Hughes

Dizüstü bilgisayarımda Nvidia GeForce GT 230M grafik kartı var
snape

6
@snape: Gauss çekirdeğini ne kadar büyük kullanıyorsunuz ve en büyük bulanık FBO'nuzun çözünürlüğü nedir? Performansı artırmanın en kolay yolu daha küçük bir çekirdek ve daha küçük bir FBO kullanmaktır. (Öğelerimde, ekran çözünürlüğü ne olursa olsun 512x512 çözünürlüklü bir FBO içinde bulanıklığımı yapıyorum)
Trevor Powell

Yanıtlar:


3

Trevor'ın yorumunda belirttiği gibi, tek seçeneğiniz çekirdeğinizin boyutunu küçültmek veya daha fazla altörnekleme yapmak olabilir.

Ama bağlandığınız öğreticiyi iyice okudunuz mu? Donanım filtrelemesini kullanmakla ilgili bir ipucu vardır, yazarın "gizli" sürümünü çağırmasıdır. Muhtemelen kalitesini etkilemeden çiçeklenme etkisini optimize etmek için kullanabileceğiniz en iyi numaradır.


Evet, öğreticiyi baştan sona okudum. Sonunda çevrimdışı oluşturma kullanarak performansını iyileştirdim ve daha önce grafik uygulaması için donanım desteğini etkinleştirmemiştim.
Snape

0

İki geçişle çok benzer bir sorunu çözdüm (bulanıklaştırma, ancak çiçek filtresi bulanıklaşıyor).

İlk geçişte X yönünde bulanıklaştırıyorum ve ikinci geçişte Y yönünde bulanıklaştırıyorum.

Ben bu hile var nerede bilmiyorum ama zaman karmaşıklığı n² 2n düşürür.

Bu yalnızca herhangi bir yönü olmayan çekirdekler için geçerlidir (böylece bir bokeh çekirdeğini bu şekilde optimize edemezsiniz).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.