Czy silnik wokseli jest odpowiedni do gry podobnej do gry Minecraft?

27

Dlaczego Minecraft używa wielokątów do rysowania terenu świata zamiast wokseli? Czy oparty na wokselach silnik renderowania byłby odpowiedni dla całkowicie zniszczalnego świata gry zbudowanego z kostek takich jak Minecraft? Czy byłoby bardziej wydajne niż używanie wielokątów?

jeffythedragonslayer
źródło
Co sprawia, że ​​myślisz, że Minecraft nie używa tego, co jest w zasadzie wokselową reprezentacją jego świata? Mam na myśli, jakie jest twoje źródło tego stwierdzenia? Zawsze zakładałem, że tak.
Josh
minecraftwiki.net/wiki/Mapa - W szczególności: „Minecraft używa systemu wokseli, który jest przyrostową siatką 3D, w której każdy punkt siatki przechowuje dane dla pojedynczego bloku”.
Ray Dey,
5
Chociaż Minecraft korzysta z wokselowej reprezentacji świata, jest on renderowany za pomocą wielokątów. Moje pytanie brzmiało: dlaczego nie napisał renderera wokseli.
jeffythedragonslayer
Mój błąd, źle zrozumiałem
Ray Dey
1
renderowanie wokseli za pomocą rzutowania promieniami na GPU jest całkowicie możliwe w przypadku dzisiejszego (lub wczorajszego) gpus. Dzięki sprytnym strukturom (które są proste dla wokseli) i sprytnemu wykorzystaniu pamięci powinieneś być w stanie renderować niesamowitą, ogromną scenę w czasie rzeczywistym.
Notabene

Odpowiedzi:

28

Dlaczego Minecraft używa wielokątów do rysowania terenu świata zamiast wokseli?

Sprzęt graficzny działa z trójkątami i renderuje je, więc musisz użyć trójkątów, jeśli chcesz przyspieszenia sprzętowego. Większość rendererów wokseli używa czegoś takiego jak Marching Cubes, aby wyodrębnić wielokątną siatkę z reprezentacji wokseli i przedstawić to; bezpośrednie renderowanie woluminów jest zazwyczaj drogie obliczeniowo.

Czy oparty na wokselach silnik renderowania byłby odpowiedni dla całkowicie zniszczalnego świata gry zbudowanego z kostek takich jak Minecraft?

Tak.

Czy byłoby bardziej wydajne niż używanie wielokątów?

Prawdopodobnie, ale nie dlatego, że woksele są renderowane szybciej lub taniej (w rzeczywistości są droższe do renderowania, ponieważ należy przekonwertować zestaw danych). Reprezentacja wokseli nadaje się do manipulacji łatwiejszej niż wielokąty - dzięki czemu znacznie łatwiej jest dodawać i usuwać fragmenty, części i fragmenty świata reprezentowane przez zestaw danych.

Josh
źródło