OpenGL kullanıyorsanız, OpenGL SSS bölüm 9: Dönüşümler tam olarak nasıl yapılacağını kapsar. Ve hayır, raytracing içermiyor, çünkü bu bunu başarmanın çok verimsiz (ancak yüksek kaliteli) bir yoludur.
9.170 Aynayı nasıl oluşturabilirim?
Temel olarak SSS girişinin söyledikleri ve örnek kod şunları göstermektedir:
- Yansıyan görünüm matrisi oluşturun. Bunu eksene hizalanmış aynalar için yapmak ikinci paragrafta açıklanmaktadır.
- Sahneyi çizin
- Görünüm matrisini geri yükleme ve derinlik arabelleğini temizleme
- Sahneyi yeniden işleyin; bu sahnedeki gerçek ayna geometrisi, daha önce oluşturulmuş aynalı sahneyi göstermek için yarı saydam veya tamamen şeffaf olmalıdır.
Açıkçası optimizasyon için çok yer var. Yansıtılan sahneyi oluştururken, aynalar tipik olarak küçük olduğundan ve varsayılan ekran dışı culling, ekranda olan ancak aynadan görülmeyen geometri için devreye girmeyeceğinden, muhtemelen mümkün olduğunca ayıklama yapmanız gerekir. Aynanın sadece sahnenin basitleştirilmiş bir sürümünü de oluşturabilirsiniz. Efektler için ve kullanıcının düşük kaliteyi fark etmesini engellemek için, yansıtılmış görüntünüzü yaparken bir gölgelendirici (örn. Bulanıklık veya belki parlak / soluk) uygulayabilirsiniz.
DirectX kullanıyorsanız, prosedürün aynı olacağını hayal ediyorum.