โครงสร้างภาพ 3 มิติ

การทำงานของระบบแสดงผล 3 มิติ
การแสดงผลแบบที่มีการสร้างภาพ 3 มิติขึ้นมาเอง เช่น ในโปรแกรมเกม การจำลองแบบ
( simulation ) หรือ VR ( Virtual Reality ) เป็นหัวข้อที่น่าสนใจและมีผู้พัฒนากันออย่างคึกคักที่สุด แต่ก็เป็นงานที่กินกำลังของเครื่องพีซีได้มากที่สุดอย่างหนึ่ง หลักการทำงานคร่าวๆ คือการสร้างภาพ 3 มิติ จะเริ่มโดดยนำเอาวัสดุชิ้นเล็กๆ รูปสามเหลี่ยมมาต่อกันเป็นรูปทรงและพื้นผิวต่างๆ จากนั้นจึงกำหนดสี แสง แรเงา รวมถึงลักษณะของพื้นผิว ( texture ) ที่จะให้ปรากฎด้วย
เพื่อทำงานได้เร็ว จะมีการแบ่งขั้นตอนการสร้างภาพ 3 มิติ ออกเป็นชิ้นย่อยๆ ที่สามารถซ้อนทับหรือ ทำงานไปพร้อมๆ กันได้บางส่วน เรียกว่าเป็น pipline จากนั้นจึงหมอบหมาย pipline
ย่อยๆ แต่ละท่อนนี้ให้กับแต่ละส่วนในการสร้างงานขึ้นมารวมกัน แต่ขั้นตอนย่อยๆ เหล่านี้ให้กับแต่ละส่วนในการสร้างงานขึ้นมารวมกัน แต่ขั้นตอนย่อยๆ เหล่านี้จะขึ้นกับว่าคุณแบ่งงานตาม API แบบ 3 มิติ ของใครได้ด้วยเช่น Direct3D ของไมโครซอฟท์ หรือ OpenGL ของ Silicon Graphics ( SGI )
ตัวออย่างของขั้นตอนย่อยๆ ที่สามารถมอบหมายให้โปรเซสเซอร์ในการ์ดแสดงผลช่วยทำแทนได้มีมากมาย ดังตัวอย่างต่อไปนี้





Geometry เป็นกรณีที่ซีพียูคำณวนตำแหน่งของรูปสามเหลี่ยมย่อยที่จะประกอบขึ้นเป็นวัตถุต่างๆ ในภาพ ซึ่งโปรเเซสเซอร์บนการ์ดแสดงผลออาจไม่ได้ช่วยจุดนี้มากนัะ
Setup วางกรอบของสามเหลี่ยมย่อยที่คำณวนได้ให้รวมกันเป็นภาพโครงร่าง ( wire frame )
Texture mapping ทำการ map หรืออวางรูปพื้นผิวแบบต่างๆลงบนโครงที่ได้จากขั้นตอนก่อนๆ เพื่อให้เริ่มเห็นเป็นรูปต้นๆ ขึ้นมาว่าอะไรขนาดเท่าไหร่ด้วย
Filtering การเกลี่ยสีหรือพื้นผิวให้เรียบสมจริงขึ้นจากการวาง texture ในขั้นก่อน การทำ
นี้มีทั้งแบบเรียบ ที่ดูแข็งๆ หรือแบบที่ไล่สีให้กลมกลืนกับบริเวณโดยรอบ ซึ่งเรียกว่า
Shading เป็นการให้แสงและเงาเพื่อให้สมจริงขึ้นอีกชั้นหนึ่ง โดยอาจทำได้ทั้งแบบเรียบ
ที่ดูแข็งๆ หรือแบบที่ไล่สีให้กลมกลืนกับบริเวณโดยรอบ
Alpha biending โดยการเพิ่มผลจากสิ่งพิเศษหรือปรากฎการณ์ธรรมชาติที่เกิดขึ้นได้ทั่วไปลงในรูป เช่น หมอกควันรวมทั้งความเพี้ยนหรือเบลอที่เกิดจากการมองผ่านสภาพแวดล้อมเหล่านี้ด้วย
Lighting สร้างภาพที่เป็นผลลัพธ์จากการจัดแสงในแบบต่างๆ เช่น แสงอาทิตย์ หรือสปอร์ตไลท์ เป็นดวงๆ ซึ่งจะมีผลให้เกิดความสว่าง ความเข้ม การสะท้อน แตกต่างกันอออกไป
Z-buffering เป็นการกำหนดตำแหน่งในแกนที่3 คือความลึกจากตำแหน่งที่ผู้ชมมองอยู่เพื่อช่วยลดเวลาในการคำณวนเพื่อตรวจสอบว่าอะไรบังหรือไม่บังวัตถุอื่นในภาพอย่างไร
MIP mapping เป็นเทคนิคการใช้ มาแสดงภาพ โดยเก็บแยกเป็นเล็กหลายๆชุด โดยชุดที่ชัด (ความละเอียดสุงกว่า) จะถูกใช้ในกรณีอยู่ใกล้ ส่วนรูปเล็กหรือหยาบกว่าจะใช้เมื่ออยู่ไกล วิธีนี้จะไม่ต้องทำการคำณวนเพื่อ map ภาพ texture ใหม่ทุกครั้ง
จาก หนังสือ ผ่า…คอมพิวเตอร์



Geometry เป็นกรณีที่ซีพียูคำณวนตำแหน่งของรูปสามเหลี่ยมย่อยที่จะประกอบขึ้นเป็นวัตถุต่างๆ ในภาพ ซึ่งโปรเเซสเซอร์บนการ์ดแสดงผลออาจไม่ได้ช่วยจุดนี้มากนัะ
Setup วางกรอบของสามเหลี่ยมย่อยที่คำณวนได้ให้รวมกันเป็นภาพโครงร่าง ( wire frame )
Texture mapping ทำการ map หรืออวางรูปพื้นผิวแบบต่างๆลงบนโครงที่ได้จากขั้นตอนก่อนๆ เพื่อให้เริ่มเห็นเป็นรูปต้นๆ ขึ้นมาว่าอะไรขนาดเท่าไหร่ด้วย
Filtering การเกลี่ยสีหรือพื้นผิวให้เรียบสมจริงขึ้นจากการวาง texture ในขั้นก่อน การทำ
นี้มีทั้งแบบเรียบ ที่ดูแข็งๆ หรือแบบที่ไล่สีให้กลมกลืนกับบริเวณโดยรอบ ซึ่งเรียกว่า
Shading เป็นการให้แสงและเงาเพื่อให้สมจริงขึ้นอีกชั้นหนึ่ง โดยอาจทำได้ทั้งแบบเรียบ
ที่ดูแข็งๆ หรือแบบที่ไล่สีให้กลมกลืนกับบริเวณโดยรอบ
Alpha biending โดยการเพิ่มผลจากสิ่งพิเศษหรือปรากฎการณ์ธรรมชาติที่เกิดขึ้นได้ทั่วไปลงในรูป เช่น หมอกควันรวมทั้งความเพี้ยนหรือเบลอที่เกิดจากการมองผ่านสภาพแวดล้อมเหล่านี้ด้วย
Lighting สร้างภาพที่เป็นผลลัพธ์จากการจัดแสงในแบบต่างๆ เช่น แสงอาทิตย์ หรือสปอร์ตไลท์ เป็นดวงๆ ซึ่งจะมีผลให้เกิดความสว่าง ความเข้ม การสะท้อน แตกต่างกันอออกไป
Z-buffering เป็นการกำหนดตำแหน่งในแกนที่3 คือความลึกจากตำแหน่งที่ผู้ชมมองอยู่เพื่อช่วยลดเวลาในการคำณวนเพื่อตรวจสอบว่าอะไรบังหรือไม่บังวัตถุอื่นในภาพอย่างไร
MIP mapping เป็นเทคนิคการใช้ มาแสดงภาพ โดยเก็บแยกเป็นเล็กหลายๆชุด โดยชุดที่ชัด (ความละเอียดสุงกว่า) จะถูกใช้ในกรณีอยู่ใกล้ ส่วนรูปเล็กหรือหยาบกว่าจะใช้เมื่ออยู่ไกล วิธีนี้จะไม่ต้องทำการคำณวนเพื่อ map ภาพ texture ใหม่ทุกครั้ง
จาก หนังสือ ผ่า…คอมพิวเตอร์



โดย : นาย สนั่น งานวิวัฒน์ถาวร, โรงเรียนภูเก็ตวิทยาลัย, วันที่ 19 พฤศจิกายน 2544