ดิสเพลสเมนต์แมปพิง

จากวิกิพีเดีย สารานุกรมเสรี
บทความนี้มีชื่อเป็นภาษาอื่น หรือใช้อักษรในภาษาอื่น เนื่องจากต้องการคงไว้ตามต้นฉบับ หรือไม่มีชื่อภาษาไทยที่เหมาะสม
vertex ของแบบจำลองสามมิติรูปตาข่าย (ภาพล่าง) ถูกเปลี่ยนแปลงความสูงต่ำตาม heightmap จากภาพบน

Displacement mapping เป็นการใช้ heightmap ปรับความสูงของพื้นผิวแบบจำลองสามมิติ เช่นใช้ค่าความสว่างบน heightmap เคลื่อนตำแหน่ง vertex ของแบบจำลองไปตามแกน normal ของ vertex ถ้าสว่างมากก็เคลื่อนมาก สว่างน้อยก็เคลื่อนน้อย เป็นต้น โดย heightmap ที่ใช้อาจอยู่ในรูปแบบของเทกซ์เจอร์ และอาจอ้างอิงตำแหน่งโดยใช้กระบวนการ UV mapping ประโยชน์ประการหนึ่งของ displace mapping คือใช้สร้างรายละเอียดพื้นผิว ในลักษณะใกล้เคียงกับ normal mapping หรือ bump mapping หรืออาจใช้ในการเปลี่ยนรูปทรงของแบบจำลองเพื่อให้ได้รูปร่างที่ต้องการก็ได้

การใช้งาน[แก้]

การใช้งาน displacement mapping มักจำกัดอยู่ในการเรนเดอร์ภาพนิ่งและวีดิทัศน์ มากกว่าการใช้งานในแบบ real-time เช่นในเกมคอมพิวเตอร์สามมิติเมื่อเทียบกับเทคนิคอื่นๆเช่น bump หรือ normal mapping เพราะ displacement mapping จำเป็นต้องมีโพลีกอนอยู่จริง ต่างจากวิธีข้างต้นที่ใช้การเปลี่ยนแปลงการสะท้อนแสงของรายละเอียดพื้นผิว (texture) ดังนั้นหากต้องการใช้ในการเพิ่มรายละเอียดพื้นผิวก็จำเป็นต้องสร้างโพลีกอนเพิ่ม เช่นการใช้ micropolygon หรือการ subdivide ทำให้ใช้เวลาในการประมวลผลมากขึ้นแต่มีข้อดีคือให้ความสมจริง เพราะโพลีกอนที่ถูกสร้างขึ้นใหม่สามารถทำให้เกิดเงาจริงขึ้น (self-shadow)


ดูเพิ่ม[แก้]