โดยทั่วไปแล้วแผนที่โลกจะมีรูปสามเหลี่ยมมากมายและแผนที่เป็นรายการของรูปสามเหลี่ยมเหล่านี้และตำแหน่งในโลกของแต่ละจุดสุดยอด กระบวนการในการวาดคือ:
- ตั้งค่าตำแหน่งของ 'กล้อง' - ถ้าคุณยืนอยู่ในโลกนี่คือตำแหน่งที่คุณอยู่ในตำแหน่งโลก
- เปลี่ยนจุดยอดสามเหลี่ยมเป็น 'พื้นที่กล้อง'
- เปลี่ยนรูปสามเหลี่ยมจาก 'พื้นที่กล้อง' เป็น 'พื้นที่หน้าจอ' - นี่คือจุดที่เอฟเฟกต์แบบ perpective เกิดขึ้น (สิ่งที่อยู่ไกลกว่าจะเล็กกว่า) สามเหลี่ยมกลายเป็น 2D ณ จุดนี้
- วาดรูปสามเหลี่ยม 2D ลงบนหน้าจอที่ซ่อนอยู่
- เมื่อวาดสามเหลี่ยมทั้งหมดแล้วให้แสดงหน้าจอต่อผู้เล่น
ขั้นตอนสุดท้ายมักจะเชื่อมโยงกับอัตราเฟรมของจอภาพเพื่อให้กระบวนการแสดงหน้าจอที่ซ่อนอยู่ทำในช่วงเวลา v-blank - แนวคิดที่ได้จากจอภาพหลอดรังสีแคโทดซึ่งอนุญาตให้ลำแสงแคโทดเคลื่อนที่จากด้านล่างขวาไปด้านบน ไปทางซ้ายต้องใช้สิ่งนี้อย่างรวดเร็ว แต่ไม่ได้ตั้งใจเปลี่ยนแรงดันไฟฟ้าบนขดลวดโก่งที่ด้านหลังของหลอดเรย์
นี่เป็นวิธีที่ง่ายมาก เพื่อให้ได้ประสิทธิภาพสูงคุณจำเป็นต้องเพิ่มสิ่งต่าง ๆ เช่นการกำจัดพื้นผิวที่ซ่อนอยู่การชักการกำหนดชุดที่มองเห็นและอื่น ๆ มีอัลกอริทึมมากมายในการตัดสินใจว่าจะวาดอะไร
นอกจากนี้ฉันบอกว่าโลกนี้ประกอบด้วยสามเหลี่ยม แต่มันอาจไม่ถูกจัดเก็บในดิสก์ด้วยวิธีนี้ บ่อยครั้งที่รูปสามเหลี่ยมที่ถูกวาดไปยังหน้าจอถูกกำหนดในเวลาทำงานจากลำดับขั้นสูงเช่นแผนที่ความสูง, เส้นโค้ง, tessalation, พื้นฐานทางเรขาคณิต (เช่นทรงกลม, กล่อง, ฯลฯ ) เป็นต้น
ไม่จำเป็นต้องใช้ฮาร์ดแวร์เฉพาะ - เกม 3 มิติก่อนหน้านี้มีในซอฟต์แวร์ (แม้กระทั่งบน CPU 8 บิตที่ไม่มี FPU) มันทำให้เร็วและง่ายต่อการทำ
เป็นคำถามง่าย ๆ ไม่มีคำตอบง่าย ๆ