Renderöinti tai piirtäminen ( eng. rendering - " visualisointi ") on termi tietokonegrafiikassa , joka tarkoittaa prosessia, jolla mallista saadaan kuva tietokoneohjelman avulla .
Tässä malli on kuvaus kaikista objekteista tai ilmiöistä tiukasti määritellyllä kielellä tai tietorakenteen muodossa. Sellainen kuvaus voi sisältää geometrisia tietoja, havainnointipisteen sijaintia, tietoa valaistuksesta, jonkin aineen esiintymisastetta, fyysisen kentän voimakkuutta jne.
Esimerkki visualisoinnista ovat tutka- avaruuskuvat , jotka edustavat avaruuskappaleen pinnan tutkapyyhkäisyllä saadun kuvadatan muodossa ihmissilmälle näkymätöntä sähkömagneettista aaltoa.
Usein tietokonegrafiikassa (taiteellisessa ja teknisessä) renderöinnillä ( 3D-renderöinnillä ) tarkoitetaan litteän kuvan - digitaalisen rasterikuvan - luomista kehitetyn 3D-näkymän perusteella. Synonyymi tässä yhteydessä on visualisointi .
Visualisointi on yksi tärkeimmistä tietokonegrafiikkahaaroista ja käytännössä se liittyy läheisesti muihin. Tyypillisesti 3D-mallinnus- ja animaatioohjelmistopaketit sisältävät myös renderöintitoiminnon. On olemassa erillisiä ohjelmistotuotteita, jotka suorittavat renderöinnin.
Renderöinti erotetaan käyttötarkoituksesta riippuen melko hitaaksi renderöintiprosessiksi, jota käytetään pääasiassa videon luomisessa esimerkiksi Vegas Prossa ja reaaliaikaisessa renderöinnissa esimerkiksi tietokonepeleissä . Jälkimmäinen käyttää usein 3D-kiihdyttimiä .
Renderöivää tietokoneohjelmaa kutsutaan renderöijiksi ( eng. render ) tai renderöijiksi ( eng. renderer ).
Kuvantoistoa voidaan luonnehtia useilla näkyvillä piirteillä. Renderöinnin tutkimus- ja kehitystyö käynnistetään suurelta osin niiden tehokkaan soveltamisen löytämiseksi. Jotkut liittyvät suoraan tiettyihin algoritmeihin ja menetelmiin, kun taas toiset täydentävät toisiaan.
Tähän mennessä on kehitetty monia visualisointialgoritmeja. Olemassa olevat ohjelmistot voivat käyttää useita algoritmeja lopullisen kuvan tuottamiseen.
Jokaisen valonsäteen jäljittäminen kohtauksessa on epäkäytännöllistä ja kestää kohtuuttoman kauan. Jopa pienen määrän säteitä jäljitys, joka riittää kuvan saamiseksi, kestää liian kauan, jos approksimaatiota ( näytteenottoa ) ei käytetä.
Tämän tuloksena on kehitetty neljä menetelmäryhmää, jotka ovat tehokkaampia kuin kaikkien kohtausta valaisevien valonsäteiden simulointi:
Kehittyneissä ohjelmistoissa yleensä yhdistetään useita tekniikoita riittävän laadukkaan ja fotorealistisen kuvan saamiseksi hyväksyttävälle määrälle laskentaresursseja.
Kuvan korkean tason esitys sisältää välttämättä muita elementtejä kuin pikseleitä. Näitä elementtejä kutsutaan primitiivisiksi. Esimerkiksi kaaviokuvassa viivat ja käyrät voivat olla primitiivisiä. Graafisessa käyttöliittymässä ikkunat ja painikkeet voivat olla primitiivisiä. 3D-malleja hahmonnettaessa avaruudessa sijaitsevat kolmiot ja polygonit voivat olla primitiivisiä.
Tapauksissa, joissa kuvapisteittäinen (kuvan renderöinti) -lähestymistapa hahmontamiseen ei ole mahdollista tai liian hidas tietylle tehtävälle, primitiivinen primitiiviseltä (objektien renderöinti) lähestymistapa hahmontamiseen voi olla hyödyllinen.
Tässä jokainen polku tarkastelee kutakin primitiiviä, ja sen seurauksena se määrittää, mihin kuvan pikseleihin se vaikuttaa, ja näitä pikseleitä muutetaan vastaavasti. Tätä kutsutaan rasteroinniksi ja tätä renderöintimenetelmää käyttävät kaikki nykyaikaiset näytönohjaimet .
Rasterointi on usein nopeampaa kuin pikselin renderöinti. Ensinnäkin suuret kuvan alueet voivat olla tyhjiä primitiivien vuoksi; rasterointi jättää nämä alueet huomioimatta, mutta pikselin renderöinnin on mentävä niiden läpi. Toiseksi rasterointi voi parantaa välimuistin koherenssia ja vähentää ylimääräistä rasitusta hyödyntämällä sitä tosiasiaa, että saman primitiivin käyttämät pikselit ovat yleensä vierekkäisiä kuvassa. Näistä syistä rasterointi on yleensä sopiva valinta, kun tarvitaan interaktiivista renderöintiä; Pikselihahmonnusmenetelmä tuottaa kuitenkin usein korkealaatuisempia kuvia ja on monipuolisempi, koska se ei riipu niin monesta kuva-oletuksesta kuin rasterointi.
Vanhalle rasteroinnin muodolle on tunnusomaista primitiivisen toisto yksiväriseksi. Vaihtoehtoisesti rasterointi voidaan tehdä hienostuneemmalla tavalla renderöimällä ensin kasvojen kärjet ja renderöimällä sitten kasvojen pikselit kärkivärien sekoitukseksi. Tämä rasterointiversio on ohittanut vanhan käytetyn menetelmän, koska se sallii grafiikan virrata ilman monimutkaisia tekstuureja (rasteroidulla kuvalla on taipumus vaikuttaa siihen, että jos käsittelemme yksinkertaisia tekstuureja, reunat eivät ole sileitä, koska värit eivät muutu asteittain. primitiivistä toiseen). Tämä rasterointimenetelmä käyttää monimutkaisempia varjostustoimintoja ja tarjoaa silti paremman suorituskyvyn, koska yksinkertaisemmat muistissa olevat pintakuviot vievät vähemmän tilaa. Joskus suunnittelijat käyttävät yhtä rasterointimenetelmää joillakin pinnoilla ja toista menetelmää toisilla sen kulman perusteella, jossa kyseiset kasvot kohtaavat muut liitetyt pinnat, mikä lisää nopeutta vaikuttamatta kokonaisvaikutukseen.
Sädelähetyksessä mallinnettua geometriaa analysoidaan pikseli pikseliltä, rivi riviltä, havainnoijan näkökulmasta ulospäin, ikään kuin säteitä heittäisiin näkökulmasta. Kohdassa, jossa kohde leikkaa, väriarvo voidaan arvioida useilla menetelmillä. Yksinkertaisimmassa tapauksessa kohteen väriarvosta leikkauspisteessä tulee kyseisen pikselin arvo. Väri voidaan määrittää tekstuurikartalta. Kehittyneempi menetelmä on muuttaa väriarvoa valokertoimella, mutta ilman suhdetta simuloituun valonlähteeseen. Epätarkkuuksien vähentämiseksi monisuuntaisten säteiden lukumäärästä voidaan laskea keskiarvo.
Säteen casting sisältää "näkymäsuunnan" laskemisen (kameran asennosta) ja tämän "säteen heittämisen" asteittaisen seuraamisen kohtauksen "3D-kiinteiden esineiden" kautta, samalla kun kerätään tuloksena oleva arvo jokaisesta 3D-avaruuden pisteestä. Tämä liittyy "säteenjäljitykseen" ja muistuttaa sitä, paitsi että lähetys ei yleensä "heijastu" pinnoilta (jossa "säteen jäljitys" tarkoittaa, että se seuraa valon polkua, mukaan lukien pomppaukset). Raycasting tarkoittaa, että valonsäde seuraa suoraa polkua (johon voi sisältyä läpikuultavien esineiden läpikulku). Raycasting on vektori, joka voi tulla kamerasta tai kohtauksen päätepisteestä ("edestä taakse" tai "takaa eteen"). Joskus lopullinen valaistusarvo johdetaan "siirtotoiminnosta" ja joskus sitä käytetään suoraan.
Lisäksi voidaan käyttää optisten ominaisuuksien karkeaa mallintamista: suoritetaan yksinkertainen säteen laskenta kohteesta havaintopisteeseen. Toinen laskentamenetelmä suoritetaan valonlähteestä (-lähteistä) tulevan valonsäteiden tulokulmalle, jonka jälkeen niistä sekä valonlähteiden ilmoitetuista intensiteetistä lasketaan pikseliarvo. Valaistusta käytetään myös toisessa mallinnusmenetelmässä, joka toistaa säteilyalgoritmin tai näiden yhdistelmän.
Renderöintimoottorin toteutus perustuu aina fyysiseen malliin. Suoritetut laskelmat viittaavat yhteen tai toiseen fyysiseen tai abstraktiin malliin. Tärkeimmät ideat ovat helposti ymmärrettäviä, mutta vaikeita soveltaa. Yleensä lopullinen tyylikäs ratkaisu tai algoritmi on monimutkaisempi ja sisältää yhdistelmän eri tekniikoita.
Renderöintimallien teoreettisen perustan avain on renderöintiyhtälö. Se on täydellisin muodollinen kuvaus renderöinnin osasta, joka ei liity lopullisen kuvan havaintoon. Kaikki mallit edustavat jotakin tämän yhtälön likimääräistä ratkaisua.
Epävirallinen tulkinta on seuraava: Tietystä pisteestä tiettyyn suuntaan tulevan valosäteilyn määrä (L o ) on sen omaa säteilyä ja heijastuvaa säteilyä. Heijastunut säteily on kaikkiin suuntiin tulevan säteilyn summa (L i ) kerrottuna heijastuskertoimella annetusta kulmasta. Yhdistämällä tuleva valo yhdessä yhtälön pisteessä lähtevään valoon, tämä yhtälö muodostaa kuvauksen koko valovirrasta tietyssä järjestelmässä.
RenderMan | henkinen säde | YafaRay | V-Ray | lopullinen renderöinti | Brasilia R/S | Kilpikonna | Maxwell Render | Fryrender | Indigo Renderer | LuxRender | Kerkythea | Gelato (kehitys keskeytetty) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
yhteensopiva 3ds Maxin kanssa | Kyllä, MaxManin kautta | sisäänrakennettu | Ei | Joo | Joo | Joo | Ei | Joo | Joo | Joo | Joo | Joo | Joo |
yhteensopiva Mayan kanssa | Kyllä, RenderMan Artist Toolsin kautta | sisäänrakennettu | Ei | Joo | Joo | Ei | Joo | Joo | Joo | Joo | Joo | Joo | |
yhteensopiva Softimagen kanssa | Kyllä, XSIManin kautta | sisäänrakennettu | Ei | Joo | Ei | Ei | Ei | Joo | Joo | Joo | Joo | Ei | |
Yhteensopiva Houdinin kanssa | Joo | Joo | Ei | Ei | Ei | Ei | Ei | Ei | Joo | Joo | Ei | Ei | |
yhteensopiva LightWaven kanssa | Ei | Ei | Ei | Ei | Ei | Ei | Ei | Joo | Joo | Ei | Ei | Ei | |
yhteensopiva Blenderin kanssa | Joo | Ei | Joo | Joo | Ei | Ei | Ei | Ei | Ei | Joo | Joo | Joo | Ei |
yhteensopiva SketchUpin kanssa | Ei | Ei | Ei | Joo | Ei | Ei | Ei | Joo | Joo | Joo | Joo | Joo | Ei |
yhteensopiva Cinema 4D :n kanssa | Kyllä (versiosta 11 alkaen) | Joo | Ei | Joo | Joo | Ei | Ei | Joo | Joo | Joo | Joo | ei, jäässä | Ei |
alusta | Microsoft Windows , Linux , Mac OS X | Microsoft Windows , Mac OS X | Microsoft Windows , Linux , Mac OS X | ||||||||||
mallin fyysinen oikeellisuus | Ei | Ei | Ei | Ei | Ei | Ei | Ei | Joo | Joo | Joo | Joo | Ei | |
skannausviiva | Joo | Joo | Ei | Ei | Ei | Ei | Ei | Ei | Ei | Ei | Ei | Ei | Joo |
raytrace | hyvin hidas | Joo | Joo | Joo | Joo | Joo | Joo | Ei | Ei | Ei | Ei | Joo | Joo |
Globaalit valaistusalgoritmit tai omat algoritmisi | Photon, Final Gather (Quasi-Montecarlo) | Fotonikartta, polkujäljitys, kaksisuuntainen, SPPM | Light Cache, Photon Map, Irradiance Map, Brute Force (Quasi-Montecarlo) | Hyper Global Illumination, Adaptive Quasi-Montecarlo, Image, Quasi Monte-Carlo | Quasi-Montecarlo, PhotonMapping | Photon Map, lopullinen keräys | Metropolis kevyt liikenne | Metropolis kevyt liikenne | Metropolis kevyt liikenne | Metropolis Light Transport, kaksisuuntainen polkujäljitys | |||
Kamera – syväterävyys (DOF) | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo |
Kamera - Liikesumennus (vektoripassi) | erittäin nopea | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | nopea | |
siirtymä | nopea | Joo | Joo | hidas, 2d ja 3d | hidas | Ei | nopea | Joo | Joo | Joo | Joo | nopea | |
Alueen valo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | ||
Kiiltävä Heijasta/Taittuu | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo |
Subsurface Scattering (SSS) | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo | Joo |
Itsenäinen | Joo | Joo | Ei | 2005 (raaka) | Ei | Ei | Ei | Joo | Joo | Joo | Joo | Joo | |
Nykyinen versio | 13.5,2,2 | 3.10 | 0.1.1 (0.1.2 Beta 5a) | 3.6 (3ds Max) 2.0 (Maya) |
Vaihe-2 | 2 | 4.01 | 1.61 | 1.91 | 1.0.9 | v1.5 | Kerkythea 2008 Echo | 2.2 |
liikkeeseenlaskuvuosi | 1987 | 1986 | 2005 | 2000 | 2002 | 2000 | 2003 | 2007 (?) | 2006 (?) | 2006 | 2015 | 2008 | 2003 |
materiaalikirjasto | Ei | 33 Minun henkinen säteeni | kehityksessä | 100+ vray materiaalia | 30 /. verkkosivusto | 113 /. nettisivut (linkkiä ei ole saatavilla) | Ei | 3200+ . verkkosivusto | 110 /. verkkosivusto | 80 /. verkkosivusto | 61 /. verkkosivusto | Ei | |
perustuu teknologiaan | nestemäinen valo | Metropolis kevyt liikenne | |||||||||||
normaali kartoitus | Joo | Joo | Joo | ||||||||||
IBL/HDRI valaistus | Joo | Joo | Joo | Joo | |||||||||
fyysinen taivas/aurinko | Joo | Joo | Joo | Joo | Joo | ||||||||
virallinen sivusto | renderman.pixar.com | YafaRay.org Arkistoitu 27. joulukuuta 2020 Wayback Machinessa | vray.com chaosgroup.com |
MaxwellRender.com | fryrender.com | IndigoRenderer.com | LuxRender.net | kerkythea.net | |||||
tuottajamaa | USA | Saksa | Korea | Bulgaria | Saksa | USA | Ruotsi | Espanja | Espanja | USA | |||
maksaa $ | 3500 | 195 | ilmainen, LGPL 2.1 | 800-1385 (riippuen 3D-paketista) |
1000 | 735 | 1500 | 995 | 1200 | 295 € | ilmainen, GNU | vapaa | vapaa |
tärkein etu | vapaa | Paistaminen suurella nopeudella (ei kovin korkealaatuinen) | Valonlähteiden ryhmät, joiden vaikutusta kuvaan voidaan säätää suoraan renderöinnin aikana, erilaisia jälkikäsittelytehosteita ja lennossa levitettävien eri valokuvausfilmien jäljitelmiä;
Ilmainen ja avoimen lähdekoodin ohjelmisto |
vapaa | |||||||||
valmistaja yritys | Pixar | henkiset kuvat (vuodesta 2008 NVIDIA ) | YafaRay | Chaos ryhmä | Cebas | SplutterFish | Valaise Labs | Seuraava raja | Feversoft | NVIDIA |
Sanakirjat ja tietosanakirjat | |
---|---|
Bibliografisissa luetteloissa |
|