เครื่องยนต์ voxel เหมาะสมกับเกม Minecraft หรือไม่?


27

ทำไม Minecraft ใช้รูปหลายเหลี่ยมในการวาดภูมิประเทศของโลกแทนที่จะเป็น voxels เอ็นจิ้นการเรนเดอร์ที่ใช้ voxel จะเหมาะกับโลกของเกมที่ถูกทำลายอย่างสมบูรณ์ที่สร้างจากลูกบาศก์อย่าง Minecraft หรือไม่? จะมีประสิทธิภาพมากกว่าการใช้รูปหลายเหลี่ยมหรือไม่


อะไรทำให้คุณคิดว่า Minecraft ไม่ได้ใช้สิ่งที่เป็นตัวแทนของ voxel ในโลกนี้? ฉันหมายถึงแหล่งที่มาของคุณสำหรับคำสั่งนั้นคืออะไร? ฉันคิดเสมอว่ามันทำ
Josh

minecraftwiki.net/wiki/Map - โดยเฉพาะ: "Minecraft ใช้ระบบ voxel ซึ่งเป็นตาราง 3 มิติที่เพิ่มขึ้นซึ่งจุดกริดแต่ละจุดเก็บข้อมูลสำหรับบล็อกเดียว"
Ray Dey

5
ในขณะที่ Minecraft ใช้ตัวแทนของ voxel จากทั่วโลก แต่ก็มีการแสดงผลโดยใช้รูปหลายเหลี่ยม คำถามของฉันคือทำไมเขาไม่เขียน voxel renderer
jeffythedragonslayer

ความผิดพลาดของฉันฉันเข้าใจผิด
Ray Dey

1
การเรนเดอร์ voxel โดยใช้การเรย์บน gpu นั้นเป็นไปได้โดยสิ้นเชิงกับ gpus ในวันนี้ (หรือเมื่อวาน) ด้วยโครงสร้างที่ฉลาด (ซึ่งง่ายสำหรับ voxels) และการใช้งานหน่วยความจำที่ชาญฉลาดคุณควรจะสามารถแสดงฉากขนาดใหญ่ที่เหลือเชื่อในแบบเรียลไทม์
Notabene

คำตอบ:


28

ทำไม Minecraft ใช้รูปหลายเหลี่ยมในการวาดภูมิประเทศของโลกแทนที่จะเป็น voxels

ฮาร์ดแวร์กราฟิกทำงานร่วมกับและแสดงผลรูปสามเหลี่ยมดังนั้นคุณต้องใช้รูปสามเหลี่ยมถ้าคุณต้องการเร่งความเร็วฮาร์ดแวร์ renderers voxel ส่วนใหญ่ใช้บางสิ่งบางอย่างเช่นMarching Cubesเพื่อแยกตาข่ายรูปหลายเหลี่ยมจากการเป็นตัวแทนของ voxel และนำเสนอสิ่งนั้น การแสดงปริมาณโดยตรงมักจะมีราคาแพง

เอ็นจิ้นการเรนเดอร์ที่ใช้ voxel จะเหมาะกับโลกของเกมที่ถูกทำลายอย่างสมบูรณ์ที่สร้างจากลูกบาศก์อย่าง Minecraft หรือไม่?

ใช่.

จะมีประสิทธิภาพมากกว่าการใช้รูปหลายเหลี่ยมหรือไม่

อาจเป็นไปได้ แต่ไม่ใช่เพราะ voxels เร็วกว่าหรือถูกกว่าในการเรนเดอร์ (อันที่จริงมันแพงกว่าที่จะเรนเดอร์เนื่องจากคุณต้องแปลงชุดข้อมูล) การเป็นตัวแทนของ Voxel ทำให้การจัดการง่ายกว่ารูปหลายเหลี่ยม - ดังนั้นการเพิ่มและลบชิ้นบิตและชิ้นส่วนของโลกที่นำเสนอโดยชุดข้อมูลนั้นง่ายกว่ามาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.