ACM Transactions on Graphics· 2019Q1
Mitsuba 2: Çok Yönlü Bir Oluşturucu
Mitsuba 2
- 411atıf
- Q1SCImago
- 2019yıl
Kısa özet
Mitsuba 2, tek bir genel uygulamayı özel, verimli sürümlere otomatik olarak uyarlamak için şablon metaprogramlamayı kullanan yeni bir C++ oluşturma sistemidir; bu sürümler spektral oluşturma, farklılaştırılabilir oluşturma ve GPU hesaplamaları gibi çeşitli uygulamalar için manuel yeniden tasarım olmadan kullanılır.
Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.
Ana noktalar
- Mitsuba 2, genel oluşturma kodunun derleme zamanı dönüşümlerini sağlamak için şablon metaprogramlamayı kullanır.
- Çeşitli kullanım durumları (spektral, polarize, farklılaştırılabilir oluşturma, GPU) için özel, verimli uygulamaları otomatik olarak oluşturur.
- Sistem, veri yapıları ve arayüzlerin manuel yeniden tasarımından kaçınarak hataları ve geliştirme süresini azaltır.
- MCMC oluşturma, kaustik tasarımı ve heterojen ortam yeniden yapılandırması gibi zorlu uygulamalarda etkinliği gösterilmiştir.
Yapay zekâ ile başlık ve abstract'tan üretildi; tam metin okunmaz.
Özet (abstract)
Modern rendering systems are confronted with a dauntingly large and growing set of requirements: in their pursuit of realism, physically based techniques must increasingly account for intricate properties of light, such as its spectral composition or polarization. To reduce prohibitive rendering times, vectorized renderers exploit coherence via instruction-level parallelism on CPUs and GPUs. Differentiable rendering algorithms propagate derivatives through a simulation to optimize an objective function, e.g., to reconstruct a scene from reference images. Catering to such diverse use cases is challenging and has led to numerous purpose-built systems---partly, because retrofitting features of this complexity onto an existing renderer involves an error-prone and infeasibly intrusive transformation of elementary data structures, interfaces between components, and their implementations (in other words, everything). We propose Mitsuba 2, a versatile renderer that is intrinsically retargetable to various applications including the ones listed above. Mitsuba 2 is implemented in modern C++ and leverages template metaprogramming to replace types and instrument the control flow of components such as BSDFs, volumes, emitters, and rendering algorithms. At compile time, it automatically transforms arithmetic, data structures, and function dispatch, turning generic algorithms into a variety of efficient implementations without the tedium of manual redesign. Possible transformations include changing the representation of color, generating a "wide" renderer that operates on bundles of light paths, just-in-time compilation to create computational kernels that run on the GPU, and forward/reverse-mode automatic differentiation. Transformations can be chained, which further enriches the space of algorithms derived from a single generic implementation. We demonstrate the effectiveness and simplicity of our approach on several applications that would be very challenging to create without assistance: a rendering algorithm based on coherent MCMC exploration, a caustic design method for gradient-index optics, and a technique for reconstructing heterogeneous media in the presence of multiple scattering.
Yazarların özeti; kaynağından alınmıştır. ACM Transactions on Graphics, 2019 · DOI ↗
Ücretsiz hesapla devam et
Makaleye Sor ile bu makaleye günde 3 soru ücretsiz; makaleyi kaydet, kaynakçasını al, ilgi alanına göre her gün yeni özetler. Çıkarımlar Premium.
Web'de ücretsiz devam etGoogle ya da Apple hesabınla giriş; kart istemez. Bu makaleye geri dönersin.
Telefonda:
Alan: Bilgisayar Grafikleri ve Bilgisayar Destekli Tasarım
Computer Graphics and Computer-Aided DesignComputer Science