Voksel

**Voksel** (inglise keeles *[[:en:Voxel|voxel]]*, lühend sõnadest *volumetric pixel*) on kolmemõõtmeline element, analoogne kahemõõtmelisele pikslile. Voksleid kasutatakse sageli meditsiinilise ja teaduslike andmete visualiseerimiseks ja analüüsimiseks. Neid kasutatakse näiteks kompuutertomograafis (KT) ja magnetresonantstomograafias (MRT), kus vokslid aitavad kujutada inimese keha ruumilisi struktuure, ning videomängudes graafilise stiilina nagu Minecraftis ja tehnilisteks funktsioonideks nagu Outcastis.

Erinevalt pikslitest ja vokslitest esitatakse polügoonid sageli nende tippude koordinaate (punktidena). Selle erinevuse tagajärg on see, et polügoonid suudavad tõhusalt esindada lihtsaid kolmemõõtmelisi struktuure, mis sisaldavad palju tühja või ühtlaselt täidetud ruumi, samas vokslid on suurepärased tavapäraste näidispindade esindamisel, mis on mitteühtlaselt täidetud.

Üks definitsioon on järgmine:Voksel on kolmemõõtmelise ruumipiirkonna kujutis, mis on piiratud antud mõõtmetega, omades oma sõlmpunkti koordinaate aktsepteeritud koordinaatsüsteemis, oma kuju, oma olekuparameetrit, mis näitab selle kuuluvust mõnele modelleeritud objektile, ning modelleeritud piirkonna omadusi.Selle definitsiooni kohaselt, kui kogu mudelis kasutatakse kindlaksmääratud vokslikuju, on voksli sõlmpunktidega (st selle punkti kolme koordinaadiga) lihtsam opereerida. Lisaks on olemas lihtne salvestusvorm: mudelikomplekti elementide indeksid (st täisarvulised koordinaadid). Mudelikomplekti elementideks on selles kontekstis olekuparameetrid, mis näitavad voksli kuuluvust modelleeritud objektile või selle eraldiseisvatele osadele, sealhulgas nende pindadele.

## Renderdamine
Vokslitena kirjeldatud mahtu saab visualiseerida kas otsese mahulise renderdamise meetodil või polügooniliste iso-pindade ekstraheerimise teel, mis järgivad määratud läviväärtuste kontuure. Iso-pindade ekstraheerimiseks kasutatakse sageli *[[:en:Marching_cubes|marching cubes]]* algoritmi, kuid on olemas ka teisi meetodeid.

Nii kiirtejälitust (*ray tracing*) kui ka kiirte väljasaatmist (*ray casting*), samuti rasteriseerimist, saab rakendada vokselandmete töötlemiseks, et genereerida kahemõõtmelisi rastergraafikaid kuvamiseks monitoril.

**Inkrementaalse vea rasteriseerimine**

Teine vokslitega seotud tehnika on rastergraafika, kus igat ekraani pikslit kiirtejälitatakse, et määrata selle positsioon stseenis, jälgides viga, mis määrab, millal edasi liikuda. Tüüpilises rakenduses toimub kiirtejälitus ekraani iga pikslil, alustades ekraani alumisest osast, kasutades nn *y-puhvrit*. Kui jõutakse vokslini, millel on ekraanil kõrgem y-väärtus, lisatakse see y-puhvrisse, asendades eelmise väärtuse, ja see ühendatakse ekraanil eelmise y-väärtusega, interpoleerides värviväärtusi.

Vokselrasteriseerimisel on suur puudus, kui rakendatakse teisendusi, mis põhjustavad tõsist diskreetmoonutust. Selle meetodi eeliseks on aga rasteriseerimine, kasutades odavaid täisarvulisi arvutusi CPU-l ilma riistvaralise kiirenduseta.

Videomängudes, näiteks "Outcastis", kasutati seda graafikatehnikat efektide, nagu *[[:en:Reflection_(computer_graphics)|reflection]]* ja *[[:en:Bump_mapping|bump mapping]]*, ning tavaliselt maastiku renderdamiseks. *Outcast*-i graafikamootor oli peamiselt kiirte väljasaatmise (*ray casting*) kõrguskaardi mootor, mida kasutati maastiku renderdamiseks, ja *[[:en:Texture_mapping|texture mapping]]* polügoonmootor, mida kasutati objektide renderdamiseks. Mängu manuaalis nimetatakse graafikaprogrammeerimise jaotistes mootoreid, nagu "Maastikumootor", "Polügoonimootor", "Vee- ja varjumootor" ja "Eriefektide mootor". Kuigi *Outcast*-i peetakse tihti vokseltehnoloogia teerajajaks, on see mõnevõrra eksitav. Mäng ei modelleeri tegelikult kolmemõõtmelisi vokslimahtusid, vaid kujutab maapinda sellise pinnana, mis võib tunduda koosnevat vokslitest. Maapinda kaunistatakse objektidega, mis on modelleeritud tekstuuriga polügoonide abil. Kui *Outcast* loodi, viitas "vokselmootor" termin sageli kiirte väljasaatmise mootorile (näiteks *[[:en:Ray_casting#Comanche_series|VoxelSpace]]*-i mootorile).

John Carmack eksperimenteeris vokslitega ka *[[:en:Quake_III_Arena|Quake III]]* mootori arendamisel. Üheks probleemiks, mida Carmack esile tõi, oli spetsiaalselt selliseks renderdamiseks mõeldud graafikakaartide puudumine, mistõttu tuli renderdamine teha tarkvarapõhiselt.

*[[:en:Comanche_(video_game_series)|Comanche]]* oli esimene kommertslik lennusimulaator, mis põhines vokseltehnoloogial. NovaLogic kasutas ettevõtte jaoks Kyle Freemani loodud patenteeritud *[[:en:Voxel_Space|Voxel Space]]* mootori (kirjutatud Assembly keeles) abil avatud maastike loomiseks. See renderdamistehnika võimaldas palju detailsemaid ja realistlikumaid maastikke võrreldes sel ajal kasutatud vektorgraafikapõhiste simulatsioonidega.

## Arvutimängud
Alljärgnevas loetelus on arvutimängud, kus kasutatakse voksleid, tuginedes SteamPeek ja GiantBomb loeteludele ning erinevatele netipõhistele artiklitele :

* *[[:en:3D_Dot_Game_Heroes|3D Dot Game Heroes]]* kasutab voksleid retrovälimusega graafika esitamiseks.
* *[[:en:7_Days_to_Die|7 Days to Die]]* on avatud maailmaga vokslipõhine õudusmäng, mille on loonud The Fun Pimps Entertainment.
* *[[:en:Ace_of_Spades_(video_game)|Ace of Spades]]* kasutas Ken Silvermani Voxlap mootorit enne, kui see kirjutati ümber kohandatud OpenGL-mootoriks.
* *[[:en:Amok_(video_game)|Amok]]* kasutab voksleid keskkonna loomiseks.
* *[[:en:Armored_Fist_3|Armored Fist 3]]*, Novalogici loodud arvutimäng, mis kasutas vokslipõhist renderdustehnoloogiat.
* *[[:en:Blade_Runner_(1997_video_game)#Development|Blade Runner]]* on videomäng, mis kasutas voksleid tegelaste ja artefaktide renderdamiseks.
* *[[:en:Castle_Story|Castle Story]]*, reaalaja strateegiamäng, mille maastik koosneb silutud voksleidest.
* *[[:en:Cloudpunk|Cloudpunk]]*, küberpunk-seiklusmäng, mis on peaaegu täielikult vokslipõhine.
* *[[:en:Comanche_(video_game_series)|Comanche]]* mänguseeria kasutas NovaLogici loodud Voxel Space rasteriseerimist maastike renderdamiseks.
* *[[:en:Command_&_Conquer:_Tiberian_Sun|Command & Conquer: Tiberian Sun]]*, *[[:en:Command_&_Conquer:_Red_Alert_2|Command & Conquer: Red Alert 2]]* ja *[[:en:Command_&_Conquer:_Yuri's_Revenge|Command & Conquer: Yuri's Revenge]]* kasutasid voksleid sõidukite renderdamiseks.
* *[[:en:Crysis|Crysis]]*, samuti Cryengine 2 ja Cryengine 3, kasutavad maastikusüsteemide jaoks kõrguskaartide ja vokslite kombinatsiooni.
* *[[:en:Cube_World|Cube World]]* on rollimäng, mille maastik on protseduuriliselt genereeritud vokslitest.
* *[[Delta Force (videomäng)|Delta Force]]* on Novalogici arvutimäng, mis kasutas ettevõttesisest Voxel Space renderdusmootorit.
* *[[:en:Dual_Universe|Dual Universe]]* on MMORPG, mis võimaldab voksleid kasutada kosmoselaevade, tsivilisatsioonide ja kosmosejaamade ehitamiseks.
* *[[:en:EverQuest_Next|EverQuest Next]]* ja *[[EverQuest Next: Landmark]]*, Sony Online Entertainmenti tühistatud MMORPG-d, kasutasid vokseltehnoloogiat maailmade loomisel ja mängijate loodud sisus.
* *[[:en:Hexplore|Hexplore]]*, mitmikmänguline rollimäng, kasutab vokselmootorit, mis võimaldab mänguvälja isomeetrilist pööramist.
* *[[:en:Hytale|Hytale]]* on tulevane RPG-liivakastimäng, mida arendab Hypixel Studios.
* *[[:en:Master_of_Orion_III|Master of Orion III]]* kasutab vokselgraafikat kosmoselahingute ja päikesesüsteemide renderdamiseks.
* *[[:en:Medieval_Engineers|Medieval Engineers]]*, vokslipõhine insenerimäng, mida inspireeris keskaegne tehnoloogia.
* *[[Minecraft]]* on liivakastimäng, mis kasutab voksleid maastikuandmete salvestamiseks, kuid ei kasuta vokselrenderdustehnikaid. Selle asemel kuvatakse iga voksel kuubikukujulise "blokina".
* *[[:en:Moonglow_Bay|Moonglow Bay]]* on kalastamismäng, mille graafikastiil põhineb vokslitel. 
* *[[:en:Miner_Wars_2081|Miner Wars 2081]]* kasutab oma VRage vokselmootorit asteroidi maastike deformeerimiseks ja tunnelite loomiseks. 
* *[[:en:Outcast_(video_game)|Outcast]]* on kolmanda isiku tegevusmäng, mille maastikud renderdatakse vokselmootori abil. 
* *[[:en:Planet_Coaster|Planet Coaster]]* on ehituse ja haldamise simulatsioon, mis kasutab vokslipõhist maastikuredaktorit. 
* *[[:en:Resogun|Resogun]]*, 2013. aastal ilmunud külgvaatega laskmismäng, mis põhineb vokslitest. 
* *[[:en:Shattered_Steel|Shattered Steel]]* kasutas vokseltehnoloogiat deformeeritavate maastike jaoks.
* *[[:en:Space_Engineers|Space Engineers]]* on kosmoseteemaline vokslipõhine liivakastimäng. !
* *[[:en:Starbase_(video_game)|Starbase]]*, vokslipõhine MMO kosmoseteemaline mäng. 
* *[[:en:Teardown_(video_game)|Teardown]]* on mäng täielikult hävitatava vokslikeskkonnaga. 
* *[[:en:Trove_(video_game)|Trove]]* on MMORPG, mis ühendab ehituselemente vokslipõhises maailmas. 
* *[[:en:Vangers|Vangers]]* kasutab kaksiktasandiga maastiku jaoks voksleid. 
* *[[:en:Vox_(video_game)|Vox]]*, 2012. aastal ilmunud vokslipõhine uurimis- ja RPG-mäng, keskendub mängijate loodud sisule. 
* *[[Voxatron]]* on täielikult vokslitest koosnev ja genereeritud arvutimäng. 
* *[[:en:Werewolf_vs._Comanche|Werewolf]]*, Novalogici loodud arvutimäng, mis kasutas vokslipõhist renderdustehnoloogiat. 
* *[[:en:Worms_4:_Mayhem|Worms 4: Mayhem]]* kasutab vokselmootorit maastike deformatsioonide simuleerimiseks. 
* *[[:en:Minetest|Luanti]]* (*Minetest*) on liivakastimäng, mis kasutab voksleid maastikuandmete salvestamiseks, kuid mitte vokselrenderdustehnikaid. Selle asemel kuvatakse iga voksel kuubikuna. 

## Viited