1
ฉันจะรวมฟิสิกส์เข้ากับโลกที่สร้างขึ้นจากขั้นตอนทางเรขาคณิตได้อย่างไร
โดยพื้นฐานแล้วฉันต้องการที่จะลบความจำเป็นในการสร้างสัญญาณรบกวนจาก CPU ไปยัง GPU จากที่นั่นฉันต้องการสร้างภูมิประเทศสำหรับโลกสามมิติโดยใช้เสียงนี้เป็นความหนาแน่นในจุด voxel หลังจากนี้ฉันต้องการนำความหนาแน่นเหล่านั้นมารวมกันเป็นรูปหลายเหลี่ยม (สร้างจุดยอด) ที่แสดงถึงภูมิประเทศของโลก นี่เป็นเรื่องปกติและทุกอย่าง แต่ฉันยังต้องการที่จะทำให้โลกผิดปกติแบบไดนามิกในเวลาจริง เมื่อฉันมาถึงจุดนี้ฉันมีปัญหาในการพยายามนำจุดยอดกลับไปที่ CPU เพื่อทำสิ่งต่าง ๆ เช่นการตรวจจับการชนและการคำนวณเกมทั้งหมดที่ฉันต้องการมีส่วนร่วมกับ CPU ไม่ใช่ GPU ดังนั้นคำถามคือฉันจะรับเซตย่อยของจุดยอดกลับไปยัง CPU เพื่อจัดการกับการชนกันของสิ่งอื่นได้อย่างไร และคำถามอีกข้อหนึ่ง: มีวิธีง่าย ๆ ในการตั้งจุดยอดและสร้างดัชนีจากพวกเขาบน GPU หรือไม่? ฉันสับสนเช่นเดียวกับชนิดของเฉดสีที่ฉันควรใช้สำหรับสิ่งที่แตกต่างเหล่านี้ ฉันได้ยินคนที่ใช้ pixel shader เพื่อรวบรวมความหนาแน่นแล้วใช้ geometry shader สำหรับจัดการกับการสร้างภูมิประเทศจากจุดยอดแล้วก็รวมส่วนยอด shader เพื่อทำการเปลี่ยนรูปแบบไดนามิก ฉันใช้ C # 4.0, .NET 4.0 และ XNA Game Studio 4.0