Interactive global illumination for static computer-aided design models using signed distance fields
Kärnä, Juho (2021)
Kärnä, Juho
2021
Teknis-luonnontieteellinen DI-ohjelma - Master's Programme in Science and Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-12-15
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202112109103
https://urn.fi/URN:NBN:fi:tuni-202112109103
Tiivistelmä
There is a need for realistic visualizations of computer-aided design (CAD) models for marketing purposes, and to communicate with clients to avoid expensive mistakes. The goal of this thesis is to increase the quality of real-time rendering in Vertex Systems CAD software products by researching and implementing a physically-based lighting system with global illumination.
The system should be interactive, meaning that the lighting doesn't have to be updated in real time, but an approximate result should be available as fast as possible. It would also be favorable for the system to support older hardware. In addition to the CAD products, an online model sharing service called Vertex Showroom is also in need of graphical improvements. It would be good if the same methods could also be used to increase the rendering quality in it.
Due to these requirements, signed distance fields (SDF) were chosen as the base for the lighting system. The Vertex Systems CAD products produce models of varying size and complexity, from small machines to enormous industrial plants. There is a very limited amount of dynamic elements. To narrow the scope of this thesis, the models are assumed to be completely static and no larger physically than kitchen models. This allows generating a single 3D texture signed distance field to represent the model with enough accuracy. Diffuse lighting can also be precomputed in to a 2D light map texture using ray tracing by leveraging the properties of signed distance fields.
Soft shadows can also be easily computed in real time using the SDF generated from the model with an existing cone tracing method created by Sebastian Aaltonen for the game Claybook. Additionally, a novel method is presented to compute physically-based reflections from surfaces of varying roughness by cone tracing the SDF generated from the model. This method includes calculating a physically based cone size depending on the surface roughness, and a further method we call sub-cone occlusion, which is used to improve the quality of the cone trace.
Output images of the cone-traced SDF reflections with and without sub-cone occlusion are compared to reference images, along with a previous implementation of screen space reflections. Peak signal-to-noise ratios (PSNR) and structural similarity index measures (SSIM) are calculated for the image pairs, and the results analyzed. The real-time performance and precomputation times are also measured.
All the reflection methods have their strengths and weaknesses, but the results are generally acceptable for all of them. The lighting system works with older hardware too. There is a real-time preview available for the precomputation, so the requirement of interactivity is fulfilled. The precomputed diffuse light map textures can also be used to increase the graphical quality in the Showroom service. The cone-traced SDF reflections work decently well, and have potential for future research and development. CAD-malleista (engl. computer-aided design) on tarve tuottaa realistisia visualisointeja markkinointikäyttöön ja asiakkaiden kanssa kommunikointiin kalliiden virheiden välttämiseksi. Tämän diplomityön tavoite on parantaa reaaliaikaisen renderöinnin laatua Vertex Systemsin CAD-ohjelmissa tutkimalla ja toteuttamalla valo-oppiin perustuva epäsuora valaistusjärjestelmä.
Järjestelmän tulisi olla interaktiivinen, eli valaistuksen ei tarvitse päivittyä reaaliajassa, mutta suurpiirteinen tulos pitäisi olla saatavilla mahdollisimman nopeasti. Olisi myös hyödyllistä, jos järjestelmä tukisi vanhempaa laitteistoa. Tietokoneavusteisten suunnitteluohjelmien lisäksi myös mallien jakamiseen tarkoitettu verkkopalvelu Vertex Showroom tarvitsee graafisia parannuksia. Olisi hyvä, jos samoilla menetelmillä olisi mahdollista parantaa myös sen grafiikkaa.
Näiden vaatimusten vuoksi etumerkilliset etäisyyskentät valittiin uuden valaistusjärjestelmän pohjaksi. Vertex Systemsin CAD-ohjelmistot tuottavat eri kokoisia ja eri monimutkaisuustason malleja pienistä koneista valtaviin tehtaisiin. Malleissa on rajallinen määrä liikkuvia osia. Diplomityön aiheen rajaamiseksi mallit oletetaan täysin liikkumattomiksi ja fyysisesti enintään keittiömallin kokoiseksi. Nämä oletukset mahdollistavat etumerkillisen etäisyyskentän luomisen mallista yhteen 3D-tekstuuriin riittävällä tarkkuudella. Diffuusivalaistus voidaan myös esilaskea 2D-tekstuuriin käyttämällä säteenseurantaa etumerkillisten etäisyyskenttien ominaisuuksia hyödyntäen.
Pehmeät varjot voidaan myös laskea helposti reaaliajassa mallista luodun etumerkillisen etäisyyskentän avulla käyttäen Sebastian Aaltosen Claybook-peliä varten luomaa kartioseurantamenetelmää. Lisäksi tässä työssä esitetään uusi valo-oppiin perustuva menetelmä heijastusten laskemiseen eri karkeuksisille pinnoille käyttäen kartioseurantaa mallista luodun etumerkillisen etäisyyskentän avulla. Menetelmään kuuluu kartion koon laskeminen valo-oppiin perustuen ja edelleen menetelmä kartioseurannan laadun parantamiseksi, jota kutsumme alikartio-okkluusioksi.
Tuloskuvia kartioseuratuilla heijastuksilla alikartio-okkluusion kanssa ja ilman sitä verrataan referenssikuviin aiemmin toteutettujen näyttöavaruuden heijastusten rinnalla. Kuvapareista mitataan PSNR (engl. peak signal-to-noise ratio) ja SSIM (engl. structural similarity index measure) -arvot ja tulokset analysoidaan. Reaaliaikainen suorituskyky ja esilaskenta-aika mitataan myös.
Jokaisessa heijastusmenetelmässä on omat vahvuutensa ja heikkoutensa, mutta tulokset ovat yleisesti hyväksyttävällä tasolla kaikilla niistä. Valaistusjärjestelmä toimii myös vanhemmalla laitteistolla. Esilaskennasta on saatavilla reaaliaikainen esikatselu, eli interaktiivisuuden vaatimus täyttyy. Esilaskettuja tekstuureja diffuusivalaistukselle voidaan myös käyttää Showroom-palvelun graafisen laadun parantamiseksi. Etumerkillisten etäisyyskenttien avulla kartioseuratut heijastukset toimivat kohtuullisen hyvin, ja omaavat potentiaalia jatkokehitykselle.
The system should be interactive, meaning that the lighting doesn't have to be updated in real time, but an approximate result should be available as fast as possible. It would also be favorable for the system to support older hardware. In addition to the CAD products, an online model sharing service called Vertex Showroom is also in need of graphical improvements. It would be good if the same methods could also be used to increase the rendering quality in it.
Due to these requirements, signed distance fields (SDF) were chosen as the base for the lighting system. The Vertex Systems CAD products produce models of varying size and complexity, from small machines to enormous industrial plants. There is a very limited amount of dynamic elements. To narrow the scope of this thesis, the models are assumed to be completely static and no larger physically than kitchen models. This allows generating a single 3D texture signed distance field to represent the model with enough accuracy. Diffuse lighting can also be precomputed in to a 2D light map texture using ray tracing by leveraging the properties of signed distance fields.
Soft shadows can also be easily computed in real time using the SDF generated from the model with an existing cone tracing method created by Sebastian Aaltonen for the game Claybook. Additionally, a novel method is presented to compute physically-based reflections from surfaces of varying roughness by cone tracing the SDF generated from the model. This method includes calculating a physically based cone size depending on the surface roughness, and a further method we call sub-cone occlusion, which is used to improve the quality of the cone trace.
Output images of the cone-traced SDF reflections with and without sub-cone occlusion are compared to reference images, along with a previous implementation of screen space reflections. Peak signal-to-noise ratios (PSNR) and structural similarity index measures (SSIM) are calculated for the image pairs, and the results analyzed. The real-time performance and precomputation times are also measured.
All the reflection methods have their strengths and weaknesses, but the results are generally acceptable for all of them. The lighting system works with older hardware too. There is a real-time preview available for the precomputation, so the requirement of interactivity is fulfilled. The precomputed diffuse light map textures can also be used to increase the graphical quality in the Showroom service. The cone-traced SDF reflections work decently well, and have potential for future research and development.
Järjestelmän tulisi olla interaktiivinen, eli valaistuksen ei tarvitse päivittyä reaaliajassa, mutta suurpiirteinen tulos pitäisi olla saatavilla mahdollisimman nopeasti. Olisi myös hyödyllistä, jos järjestelmä tukisi vanhempaa laitteistoa. Tietokoneavusteisten suunnitteluohjelmien lisäksi myös mallien jakamiseen tarkoitettu verkkopalvelu Vertex Showroom tarvitsee graafisia parannuksia. Olisi hyvä, jos samoilla menetelmillä olisi mahdollista parantaa myös sen grafiikkaa.
Näiden vaatimusten vuoksi etumerkilliset etäisyyskentät valittiin uuden valaistusjärjestelmän pohjaksi. Vertex Systemsin CAD-ohjelmistot tuottavat eri kokoisia ja eri monimutkaisuustason malleja pienistä koneista valtaviin tehtaisiin. Malleissa on rajallinen määrä liikkuvia osia. Diplomityön aiheen rajaamiseksi mallit oletetaan täysin liikkumattomiksi ja fyysisesti enintään keittiömallin kokoiseksi. Nämä oletukset mahdollistavat etumerkillisen etäisyyskentän luomisen mallista yhteen 3D-tekstuuriin riittävällä tarkkuudella. Diffuusivalaistus voidaan myös esilaskea 2D-tekstuuriin käyttämällä säteenseurantaa etumerkillisten etäisyyskenttien ominaisuuksia hyödyntäen.
Pehmeät varjot voidaan myös laskea helposti reaaliajassa mallista luodun etumerkillisen etäisyyskentän avulla käyttäen Sebastian Aaltosen Claybook-peliä varten luomaa kartioseurantamenetelmää. Lisäksi tässä työssä esitetään uusi valo-oppiin perustuva menetelmä heijastusten laskemiseen eri karkeuksisille pinnoille käyttäen kartioseurantaa mallista luodun etumerkillisen etäisyyskentän avulla. Menetelmään kuuluu kartion koon laskeminen valo-oppiin perustuen ja edelleen menetelmä kartioseurannan laadun parantamiseksi, jota kutsumme alikartio-okkluusioksi.
Tuloskuvia kartioseuratuilla heijastuksilla alikartio-okkluusion kanssa ja ilman sitä verrataan referenssikuviin aiemmin toteutettujen näyttöavaruuden heijastusten rinnalla. Kuvapareista mitataan PSNR (engl. peak signal-to-noise ratio) ja SSIM (engl. structural similarity index measure) -arvot ja tulokset analysoidaan. Reaaliaikainen suorituskyky ja esilaskenta-aika mitataan myös.
Jokaisessa heijastusmenetelmässä on omat vahvuutensa ja heikkoutensa, mutta tulokset ovat yleisesti hyväksyttävällä tasolla kaikilla niistä. Valaistusjärjestelmä toimii myös vanhemmalla laitteistolla. Esilaskennasta on saatavilla reaaliaikainen esikatselu, eli interaktiivisuuden vaatimus täyttyy. Esilaskettuja tekstuureja diffuusivalaistukselle voidaan myös käyttää Showroom-palvelun graafisen laadun parantamiseksi. Etumerkillisten etäisyyskenttien avulla kartioseuratut heijastukset toimivat kohtuullisen hyvin, ja omaavat potentiaalia jatkokehitykselle.