Birden fazla ışıkla hızlı aydınlatma


10

Birden fazla ışıkla hızlı aydınlatmayı nasıl uygulayabilirim?

Oynatıcıyı kısıtlamak istemiyorum, sınırsız sayıda ve muhtemelen üst üste binen (nokta) ışıkları seviyeye yerleştirebilir.

Sorun, aydınlatmayı hesaplamak için gerekli olacak dinamik döngüler içeren gölgelendiricilerin çok yavaş olma eğilimindedir.

Eğer bir derleyiciyi n kez ışık sayısının olduğu bir gölgelendiriciyi derlemenin mümkün olabileceği fikrine kapıldım. Derleme sırasında n sayısı biliniyorsa, döngüler otomatik olarak açılabilir. Bu, farklı gölgelere sahip aynı gölgelendiricinin n versiyonunu üretmek mümkün müdür?

Çalışma zamanında seviyenin hangi kısmı için hangi gölgelendiricinin kullanılacağına karar verebilirim.


Işıklar oynatıcı tarafından dinamik olarak eklenirse, "derleme zamanı" gölgelendiricisi nasıl doğru cevap olabilir?
Seth Battin


derleme zamanı gölgelendiricilerin ışıkların nereye yerleştirileceğini bilmeleri gerekir, ışıkların herhangi bir dinamikliği onları mahveder
cırcır ucube

sadece ışık sayısı dinamik olmalıdır. pozisyonlar parametre olarak sağlanacaktır.
codymanix

1
Cevabınız varmış gibi geliyor. Maksimum ışık sayısını ve olası konum aralığını biliyorsunuz.
ashes999

Yanıtlar:


8

Aradığın şeyin Ertelenmiş İşleme denildiğine inanıyorum. Çok sayıda ışıkla son derece iyi ölçeklenen, dinamik dolaylı aydınlatma için kullanılabilecek bir görüntü tekniğidir. Bu, ekranda 1000'lerin ışığı anlamına gelir.

Temel olarak, tüm geometri verilerinizi (konum, normal, derinlik) ilk olarak bir ara piksel tamponuna (G-Tamponu denir) dönüştürdüğünüz bir tekniktir. Daha sonra ikinci bir geçişte parametreleriyle birlikte hafif bir şekil oluşturursunuz. Bu ikinci geçişin gölgelendiricisi, bilgileri G-Tamponundan alır, ışık hesaplamasını uygular, ardından son görüntüye karıştırır.

Uygulama ayrıntılarını burada bulabilirsiniz

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.