A minecraft nevű játék hogy tud több chunk-nyi blokkot egyszerre kirajzolni?
Emögött komoly matematikai számítások állnak (affin trnaszformációs mátrix, vágás, stb.). De alapvetően így működik:
Ha a piros játékos a zöld irányba néz, akkor csak a kék területen lévő blokkokat kell kirajzolni.
Egy kis szösszenet:
"Minecraft's render engine uses OpenGL's display list feature to divide a world chunk into sixteen 16x16x16 blocks large display lists to speed up rendering significantly. They need to be rebuilt each time when a block within them is changed and can be rendered multiple times to achieve e. g. transparency."
Erre a videórészletre hivatkoznak:
https://www.youtube.com/watch?v=dTFkmfnkCfk&t=20m50s
Másrészről nyilván nem kell kirajzolni mindent, csak aminek látszódnia kell (tehát a kamera háta mögötti részt felesleges, de azt is, ami a kamerától túlságosan távolra esik).
Másrészről a renderelést nem biztos, hogy jó ötlet többszálon végezni. Itt egy stackoverflow question:
A többi válasz alatt is datenwolf elég meggyőző dolgokat ír.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!