Woksel - Voxel

Seria wokseli w stosie, z pojedynczym zacienionym wokselem
Ilustracja siatki wokseli zawierającej wartości kolorów

W komputerowej grafice 3D , wykorzystując woksel reprezentuje wartość na regularnej siatki w przestrzeni trójwymiarowej . Podobnie jak w przypadku pikseli w dwuwymiarowej bitmapie , same woksele zazwyczaj nie mają wyraźnie zakodowanej pozycji (tj. współrzędnych ) z ich wartościami. Zamiast tego systemy renderowania wywnioskują pozycję woksela na podstawie jego pozycji względem innych wokseli (tj. jego pozycji w strukturze danych, która tworzy pojedynczy obraz wolumetryczny ).

W przeciwieństwie do pikseli i wokseli, wielokąty są często wyraźnie reprezentowane przez współrzędne ich wierzchołków (jako punkty ). Bezpośrednią konsekwencją tej różnicy jest to, że wielokąty mogą wydajnie reprezentować proste struktury 3D z dużą pustą lub jednorodnie wypełnioną przestrzenią, podczas gdy woksele świetnie prezentują się w regularnie próbkowanych przestrzeniach, które są niejednorodnie wypełnione.

Woksele są często wykorzystywane w wizualizacji i analizie danych medycznych i naukowych (np. systemy informacji geograficznej (GIS)). Niektóre wyświetlacze wolumetryczne wykorzystują woksele do opisania ich rozdzielczości . Na przykład sześcienny wyświetlacz wolumetryczny może wyświetlać 512 × 512 × 512 (lub około 134 milionów) wokseli.

Jedna z definicji brzmi: „Woksel to obraz trójwymiarowego obszaru przestrzeni ograniczonego określonymi rozmiarami, który ma własne współrzędne punktu węzłowego w przyjętym układzie współrzędnych, własną formę , własny parametr stanu, który wskazuje na jego przynależność do niektórych modelowany obiekt i posiada właściwości modelowanego regionu." Ta definicja ma następującą zaletę. Jeśli w całym modelu stosowana jest stała forma wokselowa, znacznie łatwiej jest operować punktami wokselowymi , tj. trzema współrzędnymi tego punktu. Istnieje jednak prosta forma zapisu – indeksy elementów w zbiorze modelowym, czyli współrzędne całkowite. Elementami zbioru modelu w tym przypadku są parametry stanu, wskazujące woksel należący do modelowanego obiektu lub jego oddzielnych części, w tym ich powierzchni.

Etymologia

Słowo woksel powstało analogicznie do słowa „ piksel ”, gdzie vo oznacza „ objętość ” (zamiast „obrazu” piksela), a el oznacza „element”; podobne formacje z el  dla „elementu” zawierają słowa „piksel” i „ texel ”.

Wykonanie

Objętość opisana jako woksele może być wizualizowana przez bezpośrednie renderowanie objętości lub przez ekstrakcję izopowierzchni wielokątów, które podążają za konturami o określonych wartościach progowych. Kostki marszu algorytm jest często stosowany do ekstrakcji isosurface jednak istnieją inne metody, jak również.

Zarówno ray tracing, jak i ray-casting , a także rasteryzacja , można zastosować do danych woksela w celu uzyskania grafiki rastrowej 2D do przedstawienia na monitorze.

Przyrostowa rasteryzacja błędów

Inna technika wokseli obejmuje grafikę rastrową, w której po prostu śledzi się każdy piksel wyświetlacza w scenie, śledząc termin błędu, aby określić, kiedy wykonać krok . Typowa implementacja śledzi każdy piksel wyświetlacza, zaczynając od dołu ekranu, używając tak zwanego bufora y. Po osiągnięciu woksela, który ma wyższą wartość y na wyświetlaczu, jest on dodawany do bufora y nadpisując poprzednią wartość i łączony z poprzednią wartością y na ekranie, interpolując wartości kolorów. Istnieje poważny minus rasteryzacji wokseli, gdy stosowana jest transformacja, która powoduje poważne aliasingi . Zaletą była możliwość rasteryzacji przy użyciu tanich obliczeń liczb całkowitych na procesorze bez akceleracji sprzętowej .

Outcast i inne gry wideo z lat 90. wykorzystywały tę technikę graficzną do efektów takich jak odbicia i mapowanie wypukłości, a zwykle do renderowania terenu . Wyrzutkiem” s silnik graficzny głównie połączeniem techniką rozstrzygania promieniowego ( heightmap ) silnika wykorzystywane do renderowania krajobrazu i tekstury mapowania wielokąta silnika wykorzystywane do renderowania obiektów. Sekcja „Programowanie silnika” w napisach do gier w podręczniku zawiera kilka podrozdziałów związanych z grafiką, między innymi: „Silnik krajobrazu”, „Silnik Polygon”, „Silnik wody i cieni” i „Silnik efektów specjalnych”. Chociaż Outcast jest często cytowany jako prekursor technologii wokselowej, jest to nieco mylące. Gra w rzeczywistości nie modeluje trójwymiarowych tomów wokseli. Zamiast tego modeluje grunt jako powierzchnię, która może być postrzegana jako zbudowana z wokseli. Podłoże jest ozdobione obiektami, które są modelowane za pomocą wielokątów odwzorowanych teksturowo. Kiedyopracowano Outcast , termin „silnik wokselowy”, w odniesieniu do gier komputerowych, powszechnie odnosił się do silnika rzutowania promieni (na przykładsilnika VoxelSpace ). Na stronie poświęconej technologii silnika w witrynie gry, silnik poziomy jest również określany jako „silnik wokseli”. Silnik jestopartywyłącznie na oprogramowaniu ; nie polega na akceleracji sprzętowej przez kartę graficzną 3D.

John Carmack również eksperymentował z Voxelami dla silnika Quake III . Jednym z takich problemów przytaczanych przez Carmacka był brak kart graficznych zaprojektowanych specjalnie do takiego renderowania, które wymaga renderowania oprogramowania.

Comanche był także pierwszą komercyjną symulacją lotu opartą na technologii wokselowej. NovaLogic używał autorskiego silnika Voxel Space opracowanego dla firmy przez Kyle'a Freemana (napisanego w całości w języku asemblera ) do tworzenia otwartych krajobrazów. Ta technika renderowania pozwoliła na uzyskanie znacznie bardziej szczegółowego i realistycznego terenu w porównaniu z symulacjami opartymi na ówczesnej grafice wektorowej .

Galeria

Dane

Woksel reprezentuje pojedynczą próbkę lub punkt danych na regularnie rozmieszczonej, trójwymiarowej siatce. Ten punkt danych może składać się z pojedynczego fragmentu danych, takiego jak krycie, lub wielu fragmentów danych, takich jak kolor, oprócz krycia. Woksel reprezentuje tylko jeden punkt na tej siatce, a nie objętość; przestrzeń między każdym wokselem nie jest reprezentowana w zestawie danych opartym na wokselach. W zależności od rodzaju danych i zamierzonego wykorzystania zbioru danych, brakujące informacje można zrekonstruować i/lub przybliżyć, np. poprzez interpolację.

W tomografii komputerowej (na zdjęciu CT jamy brzusznej ) woksele są generowane przez pomnożenie pola widzenia (FOV) przez zakres skanowania .

Wartość woksela może reprezentować różne właściwości. W skanach CT wartości są jednostkami Hounsfielda , co daje nieprzezroczystość materiału promieniom rentgenowskim. Różne rodzaje wartości są uzyskiwane z MRI lub USG .

Woksele mogą zawierać wiele wartości skalarnych , zasadniczo dane wektorowe (tensor); w przypadku skanów USG z danymi w trybie B i Doppler , gęstość i natężenie przepływu objętościowego są rejestrowane jako oddzielne kanały danych odnoszących się do tych samych pozycji wokseli.

Chociaż woksele zapewniają precyzję i głębię rzeczywistości, są zazwyczaj dużymi zestawami danych i są niewygodne w zarządzaniu, biorąc pod uwagę przepustowość typowych komputerów. Jednak dzięki wydajnej kompresji i manipulacji dużymi plikami danych można włączyć interaktywną wizualizację na komputerach konsumenckich.

Inne wartości , takie jak wektor normalny powierzchni i kolor, mogą być przydatne do natychmiastowego renderowania 3D .

Zastosowania

Powszechne zastosowania wokseli obejmują obrazowanie wolumetryczne w medycynie oraz reprezentację terenu w grach i symulacjach. Teren Voxel jest używany zamiast mapy wysokości ze względu na jego zdolność do przedstawiania nawisów, jaskiń, łuków i innych elementów terenu 3D. Te wklęsłe elementy nie mogą być reprezentowane na mapie wysokości, ponieważ reprezentowana jest tylko górna „warstwa” danych, pozostawiając wszystko pod nią wypełnione (objętość, która w przeciwnym razie byłaby wnętrzem jaskiń lub spodem łuków lub nawisów).

Gry komputerowe

  • 3D Dot Game Heroes wykorzystuje woksele do prezentacji grafiki w stylu retro.
  • 7 Days to Die to oparta na wokselach gra typu survival horror z otwartym światem, opracowana przez The Fun Pimps Entertainment .
  • Ace of Spades używałsilnika Voxlap Kena Silvermana , zanim został przepisany w specjalnie zaprojektowanymsilniku OpenGL .
  • Amok używa wokseli do swoich środowisk.
  • Armored Fist 3 to gra komputerowa stworzona przez Novalogic , wykorzystująca technologię renderowania opartą na wokselach.
  • Blade Runner to gra wideo, która wykorzystuje woksele do renderowania postaci i artefaktów.
  • Castle Story , gra strategiczna czasu rzeczywistego budująca zamek, ma teren składający się z wygładzonych wokseli
  • Seria Comanche , seria gier komputerowych stworzona przez firmę NovaLogic , wykorzystującarasteryzację wokseli Voxel Space do renderowania terenu.
  • Command & Conquer: Tiberian Sun , Command & Conquer: Red Alert 2 i Command & Conquer: Yuri's Revenge to gry komputerowe stworzone przez Westwood Studios, które do renderowania większości pojazdów wykorzystywały woksele.
  • Crysis , a także Cryengine 2 i Cryengine 3 , wykorzystują kombinację map wysokości i wokseli dla swoich systemów terenowych.
  • Cube World , gra akcji RPG , zawiera proceduralnie generowane krajobrazy wokseli.
  • Delta Force to gra komputerowa firmy Novalogic , wykorzystująca autorskisilnik renderujący Voxel Space .
  • Dual Universe to jednoodłamkowa gra MMORPG, która wykorzystuje woksele do budowy statków kosmicznych, cywilizacji i stacji kosmicznych.
  • EverQuest Next i EverQuest Next: Landmark , anulowane gry MMORPG firmy Sony Online Entertainment , szeroko wykorzystują woksele do tworzenia świata, a także treści generowane przez graczy
  • Heexplore , wieloosobowa gra RPG, wykorzystuje silnik wokselowy, który pozwala graczowi na obracanie izometrycznego renderowanego pola gry.
  • Master of Orion III wykorzystuje grafikę wokselową do renderowania bitew kosmicznych i układów słonecznych. Bitwy wyświetlające 1000 statków na raz były renderowane powoli na komputerach bez sprzętowej akceleracji graficznej.
  • Medieval Engineers to druga oparta na wokselach gra inżynierska autorstwa Keen Software House inspirowana średniowieczną technologią.
  • Minecraft to sandboksowa gra wideo, która wykorzystuje woksele do przechowywania danych o terenie, ale nie wykorzystuje technik renderowania wokseli . Zamiast tego używa renderowania wielokątów, aby wyświetlić każdy woksel jako sześcienny „blok”.
  • Miner Wars 2081 to gra z otwartym światem 6DOF stworzona przez Keen Software House, która wykorzystuje własny silnik renderowania wokseli VRage, aby umożliwić użytkownikowi deformację terenu asteroidów, umożliwiając tworzenie tuneli.
  • No Man's Sky to gra eksploracji kosmosu składająca się z proceduralnie generowanych systemów gwiezdnych zawierających możliwe do zbadania planety, księżyce i asteroidy złożone z wokseli. Silnik wokselowy pozwala zarówno na niszczenie terenu, jak i tworzenie.
  • Outcast to trzecioosobowa gra komputerowa akcji stworzona przez byłego belgijskiego producenta gier wideo Appeal, z krajobrazami renderowanymi przez silnik wokselowy.
  • Planet Coaster to symulacja budowy i zarządzania z 2016 rokuopracowana i opublikowana przez Frontier Developments, która wykorzystuje edytor terenu oparty na wokselach.
  • Resogun to oparta na wokselach gra wideo typu shoot 'em up z side-scrollingiem z 2013 roku, opracowana przez fińskiego dewelopera Housemarque .
  • Roblox używa wokseli do terenu.
  • Robocraft , gra walki pojazdów, w której gracze budują maszyny bojowe z wokseli i gotowych komponentów
  • ScrubbleShip , kosmiczny symulator MMO do budowania bloków, będący w fazie rozwoju (stan na 2017 r.), renderuje każdy komponent w grze i uszkodzenia tych komponentów za pomocą dziesiątek, a nawet tysięcy wokseli.
  • Shadow Warrior i Blood używają silnika Build do renderowania wokseli w strzelance FPS, zamiast sprite'ów , jako opcji dla wielu przedmiotów i scenerii. Duke Nukem 3D ma stworzony przez fanów pakiet w podobnym stylu.
  • Shattered Steel przedstawiało deformujące krajobrazy przy użyciu technologii wokselowej.
  • Alpha Centauri Sida Meiera wykorzystuje modele wokseli do renderowania jednostek.
  • SkySaga: Infinite Isles to oparta na wokselach sandboksowa gra MMORPG, opracowana przez Radiant Worlds i opublikowana przez Smilegate .
  • Space Engineers to oparta na wokselach gra typu sandbox osadzona w kosmosie, opracowana i opublikowana przez Keen Software House
  • StarMade , oparta na wokselach gra typu sandbox osadzona w kosmosie, opracowana i opublikowana przez Robina „Schema” Promesbergera.
  • Teardown , gra oparta na wokselach z całkowicie zniszczalnymi środowiskami, opracowana i opublikowana przez studio Tuxedo Labs
  • Piaskownica
  • Trove to oparta na wokselach gra MMORPG z elementami budowlanymi, opracowana i opublikowana przez Trion Worlds .
  • Vangers to gra komputerowa, która wykorzystuje woksele do dwupoziomowego systemu terenu.
  • Vox to wydana w 2012 roku gra eksploracyjna/RPG oparta na wokselach, skupiająca się na zawartości generowanej przez graczy.
  • Voxatron , gra komputerowa wyprodukowana przez Lexaloffle, jest skomponowana i wygenerowana w pełni przy użyciu wokseli.
  • Voxelstein 3D to FPS, który renderuje poziom w pełni zniszczalny z wrogami (również w pełni zniszczalny) z samymi wokselami .
  • Werewolf to gra komputerowa stworzona przez Novalogic, która wykorzystuje technologię renderowania opartą na wokselach. Pierwotnie był dołączony i dostarczony zgrą Comanche 2 , chociaż były to dwie oddzielne gry.
  • Worms 4: Mayhem wykorzystuje silnik oparty na wokselach do symulacji deformacji terenu, podobnie jak w starszych grach 2D Worms.

Redakcja

Podczas gdy naukowa wizualizacja objętości nie wymaga modyfikowania rzeczywistych danych woksela, edytory wokseli mogą być używane do tworzenia grafiki (zwłaszcza sztuki pikselowej 3D ) i modeli gier opartych na wokselu. Niektórzy redaktorzy koncentrują się na jednym podejściu do edycji wokseli, podczas gdy inni mieszają różne podejścia. Niektóre typowe podejścia to:

  • Oparte na plasterkach: objętość jest podzielona na jedną lub więcej osi, a użytkownik może edytować każdy obraz indywidualnie za pomocą narzędzi edytora rastrów 2D . Zwykle przechowują one informacje o kolorze w wokselach.
  • Rzeźba: Podobna do odpowiednika wektorowego, ale bez ograniczeń topologicznych. Zwykle przechowują one informacje o gęstości w wokselach i nie zawierają informacji o kolorze.
  • Klocki: użytkownik może dodawać i usuwać klocki, tak jak zabawki z zestawu konstrukcyjnego .

Dostępnych jest kilka edytorów wokseli, które nie są powiązane z konkretnymi grami lub silnikami. Mogą być używane jako alternatywa lub uzupełnienie tradycyjnego modelowania wektorowego 3D.

Rozszerzenia

Uogólnienie woksela to toxel lub woksel czasowy. Jest to używane w przypadku zestawu danych 4D , na przykład sekwencji obrazów, która reprezentuje przestrzeń 3D wraz z innym wymiarem, takim jak czas. W ten sposób obraz może zawierać 100×100×100×100 tokseli, co może być postrzegane jako seria 100 klatek obrazu objętościowego o wymiarach 100×100×100 (odpowiednik obrazu 3D przedstawiałby przekrój 2D obrazu w każdej ramce). Chociaż przechowywanie i przetwarzanie takich danych wymaga dużej ilości pamięci, umożliwia reprezentację i analizę systemów czasoprzestrzennych .

Zobacz też


Bibliografia

Zewnętrzne linki