กลับไปหน้าบทความ

อ่าน 6 นาที

การทำแผนที่ลูกบาศก์

ในคอมพิวเตอร์กราฟิกส์การทำแผนที่แบบคิวบ์ (Cube Mapping)เป็นวิธีการทำแผนที่สภาพแวดล้อมที่ใช้ด้านทั้งหกของลูกบาศก์เป็นรูปร่างของแผนที่ สภาพแวดล้อมจะถูกฉายลงบนด้านต่างๆ

การทำแผนที่ลูกบาศก์

ภาพด้านซ้ายล่างแสดงฉากที่มีมุมมองที่ทำเครื่องหมายด้วยจุดสีดำ ภาพด้านบนแสดงโครงข่ายของการทำแผนที่ลูกบาศก์ที่มองจากมุมมองนั้น และภาพด้านขวาล่างแสดงลูกบาศก์ที่ซ้อนทับอยู่บนฉากเดิม

ระยะห่างระหว่างจุดศูนย์กลางความเอียง : -10 °

การหมุนตัว : -10 °

มุมมองภาพ : 80 °

เป็นการแสดงผลแบบ 3 มิติโดยใช้เทคนิค Cube Mapping เช่นเดียวกับด้านบน

ในคอมพิวเตอร์กราฟิกส์การทำแผนที่แบบคิวบ์ (Cube Mapping)เป็นวิธีการทำแผนที่สภาพแวดล้อมที่ใช้ด้านทั้งหกของลูกบาศก์เป็นรูปร่างของแผนที่ สภาพแวดล้อมจะถูกฉายลงบนด้านต่างๆ ของลูกบาศก์และจัดเก็บเป็นพื้นผิวสี่เหลี่ยมจัตุรัสหกชิ้น หรือคลี่ออกเป็นหกส่วนของพื้นผิวเดียว

แผนที่ลูกบาศก์ถูกสร้างขึ้นโดยการเรนเดอร์ฉากหกครั้งจากมุมมองหนึ่ง โดยมุมมองต่างๆ ถูกกำหนดโดยกรวยมุมมอง 90 องศา ที่แสดงถึงแต่ละหน้าของลูกบาศก์[ 1 ]หรือหากสภาพแวดล้อมถูกพิจารณาว่าฉายลงบนทรงกลมก่อน แต่ละหน้าของลูกบาศก์จะเป็นการฉายภาพแบบโนมอนิ

ในกรณีส่วนใหญ่ การทำแผนที่แบบลูกบาศก์ (Cube Mapping) เป็นที่นิยมมากกว่าวิธีการทำแผนที่แบบทรงกลม ( Sphere Mapping) แบบเก่า เนื่องจากช่วยขจัดปัญหาหลายอย่างที่เกิดขึ้นในการทำแผนที่แบบทรงกลม เช่น การบิดเบือนของภาพ การขึ้นอยู่กับมุมมอง และประสิทธิภาพการคำนวณที่ต่ำ นอกจากนี้ การทำแผนที่แบบลูกบาศก์ยังรองรับการแสดงผลภาพสะท้อนแบบ เรียลไทม์ได้ มากกว่าการทำแผนที่แบบทรงกลม เนื่องจากประสิทธิภาพที่ต่ำและการขึ้นอยู่กับมุมมองทำให้การทำแผนที่แบบทรงกลมมีข้อจำกัดในการใช้งานเมื่อมุมมองมีการเปลี่ยนแปลงอยู่ตลอดเวลา

รูปแบบต่างๆ ของการทำแผนที่ลูกบาศก์ยังใช้กันทั่วไปใน การฉายภาพ วิดีโอ360 องศา[ 2 ]

ประวัติศาสตร์

การแมปคิวบ์ได้รับการเสนอครั้งแรกในปี 1986 โดย Ned Greene ในบทความของเขาเรื่อง "Environment Mapping and Other Applications of World Projections" [ 3 ] สิบปีหลังจากที่ Jim BlinnและMartin Newellเสนอการแมปสภาพแวดล้อมเป็นครั้งแรกอย่างไรก็ตาม ข้อจำกัดของฮาร์ดแวร์ในการเข้าถึงภาพพื้นผิวหกภาพพร้อมกันทำให้ไม่สามารถนำการแมปคิวบ์ไปใช้งานได้โดยปราศจากการพัฒนาทางเทคโนโลยีเพิ่มเติม ปัญหานี้ได้รับการแก้ไขในปี 1999 ด้วยการเปิดตัวNvidia GeForce 256 Nvidia ยกย่องการแมปคิวบ์ในฮาร์ดแวร์ว่าเป็น "คุณสมบัติคุณภาพของภาพที่ก้าวล้ำของ GeForce 256 ที่...จะช่วยให้นักพัฒนาสามารถสร้างภาพสะท้อนที่แม่นยำแบบเรียลไทม์ได้ การแมปสภาพแวดล้อมแบบคิวบ์ที่เร่งความเร็วด้วยฮาร์ดแวร์จะช่วยปลดปล่อยความคิดสร้างสรรค์ของนักพัฒนาในการใช้ภาพสะท้อนและเอฟเฟกต์แสงสะท้อนเพื่อสร้างสภาพแวดล้อมที่น่าสนใจและสมจริง" [ 4 ]ปัจจุบัน การแมปคิวบ์ยังคงถูกใช้ในแอปพลิเคชันกราฟิกต่างๆ ในฐานะวิธีการแมปสภาพแวดล้อมที่ได้รับความนิยม

ข้อดี

การทำแผนที่แบบคิวบ์ (Cube mapping) เป็นที่นิยมมากกว่าวิธีการทำแผนที่สภาพแวดล้อมแบบอื่น ๆ เนื่องจากมีความเรียบง่ายกว่า นอกจากนี้ การทำแผนที่แบบคิวบ์ยังให้ผลลัพธ์ที่คล้ายคลึงกับที่ได้จากการติดตามรังสี (Ray tracing ) แต่มีประสิทธิภาพในการคำนวณสูงกว่ามาก แม้คุณภาพจะลดลงเล็กน้อย แต่ก็ชดเชยด้วยประสิทธิภาพที่เพิ่มขึ้นอย่างมาก

ก่อนการพัฒนาเทคนิค Cube Mapping เทคนิคSphere Mappingมีข้อบกพร่องหลายประการที่ทำให้ไม่เหมาะสมกับการใช้งานส่วนใหญ่ Sphere Mapping ขึ้นอยู่กับมุมมอง หมายความว่าต้องใช้พื้นผิวที่แตกต่างกันสำหรับแต่ละมุมมอง ดังนั้น ในแอปพลิเคชันที่มุมมองเคลื่อนที่ได้ จำเป็นต้องสร้าง Sphere Mapping ใหม่แบบไดนามิกสำหรับแต่ละมุมมองใหม่ (หรือสร้าง Mapping ล่วงหน้าสำหรับทุกมุมมอง) นอกจากนี้ พื้นผิวที่แมปบนพื้นผิวของทรงกลมจะต้องถูกยืดและบีบอัด และการบิดเบี้ยวและการผิดรูป (โดยเฉพาะตามขอบของทรงกลม) เป็นผลโดยตรงจากสิ่งนี้ แม้ว่าข้อบกพร่องของภาพเหล่านี้จะลดลงได้โดยใช้เทคนิคและวิธีการบางอย่าง เช่น "การยืดล่วงหน้า" แต่สิ่งนี้ก็เพิ่มความซับซ้อนให้กับ Sphere Mapping อีกชั้นหนึ่ง

การแมปแบบพาราโบลาช่วยปรับปรุงข้อจำกัดของการแมปแบบทรงกลมได้บ้าง แต่ต้องใช้การเรนเดอร์สองรอบ นอกเหนือจาก การ ปรับภาพ แบบพิเศษ และการคำนวณที่ซับซ้อนกว่าเดิม

ในทางกลับกัน การทำแผนที่แบบคิวบ์แมปปิ้งนั้นต้องการเพียงการเรนเดอร์เพียงครั้งเดียว และเนื่องจากลักษณะที่เรียบง่าย จึงเข้าใจและสร้างได้ง่ายมากสำหรับนักพัฒนา นอกจากนี้ การทำแผนที่แบบคิวบ์แมปปิ้งยังใช้ความละเอียดทั้งหมดของภาพพื้นผิว เมื่อเทียบกับการทำแผนที่แบบทรงกลมและพาราโบลา ซึ่งทำให้สามารถใช้ภาพที่มีความละเอียดต่ำกว่าเพื่อให้ได้คุณภาพเดียวกัน แม้ว่าการจัดการรอยต่อของคิวบ์แมปปิ้งจะเป็นปัญหา แต่ก็มีการพัฒนาอัลกอริทึมเพื่อจัดการพฤติกรรมของรอยต่อและทำให้เกิดการสะท้อนที่ไร้รอยต่อ

ข้อเสีย

ข้อเสีย ได้แก่ ความไม่ต่อเนื่อง การจัดทำดัชนีจำนวนมาก การแทรกสอดเชิงเส้นของเวกเตอร์ (เมื่อคำนวณในฮาร์ดแวร์) การกรองข้ามขอบเขตแผนที่พื้นผิว และอาจจำเป็นต้องใช้พื้นผิวหลายแบบ[ 5 ]

แอปพลิเคชัน

แสงสะท้อนที่เสถียร

โปรแกรม ออกแบบโดยใช้คอมพิวเตอร์ช่วย (CAD) ใช้แสงสะท้อนเป็นตัวบ่งชี้ทางสายตาเพื่อสื่อถึงความโค้งของพื้นผิวเมื่อแสดงผลวัตถุ 3 มิติ อย่างไรก็ตาม โปรแกรม CAD หลายโปรแกรมมีปัญหาในการสุ่มตัวอย่างแสงสะท้อน เนื่องจากการคำนวณแสงสะท้อนจะทำเฉพาะที่จุดยอดของตาข่ายที่ใช้แทนวัตถุเท่านั้น และใช้การประมาณค่าแบบสอดแทรกเพื่อประมาณแสงทั่วพื้นผิวของวัตถุ ปัญหาเกิดขึ้นเมื่อจุดยอดของตาข่ายไม่หนาแน่นเพียงพอ ส่งผลให้การสุ่มตัวอย่างแสงสะท้อนไม่เพียงพอ ซึ่งจะทำให้แสงสะท้อนมีความสว่างแปรผันตามระยะห่างจากจุดยอดของตาข่าย และในที่สุดก็จะลดทอนตัวบ่งชี้ทางสายตาที่บ่งบอกถึงความโค้ง อย่างไรก็ตาม ปัญหานี้ไม่สามารถแก้ไขได้ด้วยการสร้างตาข่ายที่หนาแน่นขึ้นเพียงอย่างเดียว เพราะจะลดประสิทธิภาพการแสดงผลวัตถุลงอย่างมาก

แผนที่ลูกบาศก์ (Cube map) เป็นวิธีการที่ค่อนข้างตรงไปตรงมาและมีประสิทธิภาพในการแสดงผลแสงสะท้อนที่เสถียร สามารถเข้ารหัสแสงสะท้อนหลายจุดลงในพื้นผิวแผนที่ลูกบาศก์ได้ จากนั้นจึงเข้าถึงพื้นผิวนั้นโดยการ ประมาณค่าระหว่าง เวกเตอร์การสะท้อนของพื้นผิวเพื่อกำหนดพิกัด เมื่อเทียบกับการคำนวณแสงที่จุดยอดแต่ละจุด วิธีนี้ให้ผลลัพธ์ที่สะอาดกว่าและแสดงความโค้งได้แม่นยำกว่า ข้อดีอีกประการหนึ่งของวิธีนี้คือสามารถปรับขนาดได้ดี เนื่องจากสามารถเข้ารหัสแสงสะท้อนเพิ่มเติมลงในพื้นผิวได้โดยไม่เพิ่มต้นทุนในการแสดงผล อย่างไรก็ตาม วิธีนี้มีข้อจำกัดตรงที่แหล่งกำเนิดแสงต้องอยู่ไกลหรือเป็นระยะอนันต์ ซึ่งโดยปกติแล้วจะเป็นเช่นนั้นในโปรแกรม CAD

สกายบ็อกซ์

ภาพเรนเดอร์สามมิติของลูกบาศก์โดยใช้คิวบ์แมป
ภาพเรนเดอร์ 3 มิติของลูกบาศก์โดยไม่มีคิวบ์แมป
การเรนเดอร์ภาพโดยใช้คิวบ์แมปอาจให้ผลลัพธ์ที่ดีกว่าในฉากกลางแจ้ง (ภาพด้านบนใช้คิวบ์แมป ภาพด้านล่างใช้แสงแดดแบบพื้นฐาน)
ตัวอย่างของพื้นผิวที่สามารถแมปไปยังด้านต่างๆ ของสกายบ็อกซ์ทรงลูกบาศก์ โดยมีป้ายกำกับกำกับแต่ละด้าน

บางทีการประยุกต์ใช้เทคนิค Cube Mapping ที่ล้ำหน้าที่สุดก็คือการสร้างภาพท้องฟ้า แบบพาโนรามาที่เรนเดอร์ไว้ล่วงหน้า แล้วจึงเรนเดอร์ภาพนั้นด้วยเอนจิ้นกราฟิกเป็นหน้าของลูกบาศก์ที่ระยะห่างแทบจะไม่มีที่สิ้นสุด โดยมีจุดมองอยู่ที่ศูนย์กลางของลูกบาศก์การฉายภาพแบบเปอร์สเปคทีฟของหน้าลูกบาศก์ที่ทำโดยเอนจิ้นกราฟิกจะลบล้างผลกระทบของการฉายภาพสภาพแวดล้อมเพื่อสร้าง Cube Map ทำให้ผู้สังเกตได้สัมผัสถึงภาพลวงตาว่าถูกล้อมรอบด้วยฉากที่ใช้สร้าง Skybox เทคนิคนี้ถูกนำไปใช้อย่างแพร่หลายในวิดีโอเกมเนื่องจากช่วยให้นักออกแบบสามารถเพิ่มสภาพแวดล้อมที่ซับซ้อน (แม้ว่าจะสำรวจไม่ได้) ลงในเกมได้โดยแทบไม่มีผลกระทบต่อประสิทธิภาพการทำงาน

การส่องสว่างช่องแสงบนหลังคา

แผนที่ลูกบาศก์ (Cube map) มีประโยชน์สำหรับการจำลองแสงสว่างภายนอกอาคารได้อย่างแม่นยำ การจำลองแสงแดดเป็นแสงเดียวที่ไม่มีที่สิ้นสุดนั้นเป็นการทำให้แสงสว่างภายนอกอาคารง่ายเกินไปและส่งผลให้แสงไม่สมจริง แม้ว่าจะมีแสงจากดวงอาทิตย์มากมาย แต่การกระเจิงของรังสีในชั้นบรรยากาศทำให้ท้องฟ้าทั้งหมดทำหน้าที่เป็นแหล่งกำเนิดแสง (มักเรียกว่าแสงจากท้องฟ้า) อย่างไรก็ตาม การใช้แผนที่ลูกบาศก์ช่วยให้สามารถจับภาพการกระจายแสงจากท้องฟ้าได้ ต่างจากแผนที่สภาพแวดล้อม (Environment map) ที่ใช้เวกเตอร์การสะท้อน วิธีนี้จะเข้าถึงแผนที่ลูกบาศก์โดยอาศัยเวกเตอร์ปกติของพื้นผิวเพื่อให้ได้ค่าประมาณของการกระจายแสงจากท้องฟ้าอย่างรวดเร็ว ข้อเสียอย่างหนึ่งของวิธีนี้คือการคำนวณแผนที่ลูกบาศก์เพื่อแสดงแสงจากท้องฟ้าอย่างถูกต้องนั้นซับซ้อนมาก กระบวนการล่าสุดคือการคำนวณฐานฮาร์มอนิกทรงกลมที่แสดงถึงการกระจายแสงความถี่ต่ำจากแผนที่ลูกบาศก์ได้ดีที่สุด อย่างไรก็ตาม มีการวิจัยจำนวนมากเพื่อจำลองแสงจากท้องฟ้าอย่างมีประสิทธิภาพ

การสะท้อนแบบไดนามิก

การสะท้อนแสงแบบ Cube-mapped ในการใช้งานจริง

การสร้างภาพสะท้อนสภาพแวดล้อมแบบพื้นฐานใช้แผนที่ลูกบาศก์แบบคงที่ – แม้ว่าวัตถุจะสามารถเคลื่อนย้ายและบิดเบี้ยวได้ แต่สภาพแวดล้อมที่สะท้อนยังคงเหมือนเดิม อย่างไรก็ตาม พื้นผิวแผนที่ลูกบาศก์สามารถอัปเดตได้อย่างสม่ำเสมอเพื่อแสดงถึงสภาพแวดล้อมที่เปลี่ยนแปลงไปอย่างไดนามิก (ตัวอย่างเช่น ต้นไม้ที่พลิ้วไหวตามลม) วิธีที่ง่ายแต่มีค่าใช้จ่ายสูงในการสร้างภาพสะท้อนแบบไดนามิกคือการสร้างแผนที่ลูกบาศก์ในระหว่างการทำงานสำหรับทุกเฟรม แม้ว่าวิธีนี้จะมีประสิทธิภาพน้อยกว่าการสร้างภาพสะท้อนแบบคงที่เนื่องจากขั้นตอนการเรนเดอร์เพิ่มเติม แต่ก็ยังสามารถทำได้ในอัตราที่รวดเร็วทันต่อการโต้ตอบ

อย่างไรก็ตาม เทคนิคนี้ไม่เหมาะกับการใช้งานที่มีวัตถุสะท้อนแสงหลายชิ้น โดยปกติแล้วจะต้องใช้แผนที่สภาพแวดล้อมแบบไดนามิกที่ไม่ซ้ำกันสำหรับวัตถุสะท้อนแสงแต่ละชิ้น นอกจากนี้ ยังมีความซับซ้อนเพิ่มขึ้นหากวัตถุสะท้อนแสงสามารถสะท้อนซึ่งกันและกันได้ จำเป็นต้องสร้างแผนที่ลูกบาศก์แบบไดนามิกซ้ำๆ เพื่อจำลองเอฟเฟกต์ที่ปกติสร้างขึ้นโดยใช้การติดตามรังสี

แสงสว่างทั่วโลก

อัลกอริทึมสำหรับ การคำนวณ แสงสว่างทั่วโลกในอัตราโต้ตอบโดยใช้โครงสร้างข้อมูลแผนที่ลูกบาศก์ ได้รับการนำเสนอในงานICCVG 2002 [ 6 ]

พื้นผิวการฉายภาพ

อีกหนึ่งเทคนิคที่แพร่หลายในวิดีโอเกมคือการแมปพื้นผิวแบบโปรเจคทีฟ (Projective Texture Mapping ) เทคนิคนี้อาศัยแผนที่ลูกบาศก์ (Cube Map) ในการฉายภาพของสภาพแวดล้อมลงบนฉากโดยรอบ ตัวอย่างเช่น แหล่งกำเนิดแสงแบบจุดจะถูกเชื่อมโยงกับแผนที่ลูกบาศก์ซึ่งเป็นภาพพาโนรามาที่ถ่ายจากภายในกรงโคมไฟหรือกรอบหน้าต่างที่แสงส่องผ่าน วิธีนี้ช่วยให้นักพัฒนาเกมสามารถสร้างแสงที่สมจริงได้โดยไม่ต้องทำให้รูปทรงเรขาคณิตของฉากซับซ้อนขึ้น หรือต้องคำนวณปริมาตร เงาแบบเรียลไทม์ ที่มีราคาแพง

การกำหนดแอดเดรสหน่วยความจำ

ภาพประกอบแสดงวิธีการจัดทำดัชนีและระบุที่อยู่ของคิวบ์แมป

พื้นผิวลูกบาศก์จะจัดทำดัชนีแผนที่พื้นผิวหกแผนที่จาก 0 ถึง 5 ตามลำดับ: X บวก, X ลบ, Y บวก, Y ลบ, Z บวก, Z ลบ[ 7 ] [ 8 ]รูปภาพจะถูกจัดเก็บโดยมีจุดกำเนิดอยู่ที่มุมล่างซ้ายของรูปภาพ ด้าน X และ Y บวกจะต้องกลับค่าพิกัด Z และด้าน Z ลบจะต้องกลับค่าพิกัด X หากกำหนดพิกัดด้านและพื้นผิวเวกเตอร์ที่ไม่เป็นมาตรฐานสามารถคำนวณได้โดยใช้ฟังก์ชัน:

void convert_cube_uv_to_xyz ( int index , float u , float v , float * x , float * y , float * z ) { // แปลงช่วง 0 ถึง 1 เป็น −1 ถึง 1 float uc = 2.0f * u - 1.0f ; float vc = 2.0f * v - 1.0f ; switch ( index ) { case 0 : * x = 1.0f ; * y = vc ; * z = - uc ; break ; // ค่า X เป็นบวกcase 1 : * x = -1.0f ; * y = vc ; * z = uc ; break ; // ค่า X เป็นลบcase 2 : * x = uc ; * y = 1.0f ; * z = - vc ; break ; // ค่า Y เป็นบวกcase 3 : * x = uc ; * y = -1.0f ; * z = vc ; break ; // กรณี Y ติดลบกรณีที่ 4 : * x = uc ; * y = vc ; * z = 1.0f ; break ; // กรณี Z เป็นบวกกรณีที่ 5 : * x = - uc ; * y = vc ; * z = -1.0f ; break ; // กรณี Z ติดลบ} }

ในทำนองเดียวกัน เวกเตอร์สามารถแปลงเป็นดัชนีหน้าและพิกัดพื้นผิวได้โดยใช้ฟังก์ชัน:

void convert_xyz_to_cube_uv ( float x , float y , float z , int * index , float * u , float * v ) { float absX = fabs ( x ); float absY = fabs ( y ); float absZ = fabs ( z );int isXPositive = x > 0 ? 1 : 0 ; int isYPositive = y > 0 ? 1 : 0 ; int isZPositive = z > 0 ? 1 : 0 ;float maxAxis , uc , vc ;// แกน X บวกถ้า( isXPositive && absX >= absY && absX >= absZ ) { // u (0 ถึง 1) เคลื่อนที่จาก +z ถึง −z // v (0 ถึง 1) เคลื่อนที่จาก −y ถึง +y maxAxis = absX ; uc = - z ; vc = y ; * index = 0 ; } // แกน X ลบถ้า( ! isXPositive && absX >= absY && absX >= absZ ) { // u (0 ถึง 1) เคลื่อนที่จาก −z ถึง +z // v (0 ถึง 1) เคลื่อนที่จาก −y ถึง +y maxAxis = absX ; uc = z ; vc = y ; * index = 1 ; } } // ค่า Y เป็นบวกถ้า( isYPositive && absY >= absX && absY >= absZ ) { // u (0 ถึง 1) เคลื่อนที่จาก −x ถึง +x // v (0 ถึง 1) เคลื่อนที่จาก +z ถึง −z maxAxis = absY ; uc = x ; vc = - z ; * index = 2 ; } // ค่า Y เป็นลบถ้า( ! isYPositive && absY >= absX && absY >= absZ ) { // u (0 ถึง 1) เคลื่อนที่จาก −x ถึง +x // v (0 ถึง 1) เคลื่อนที่จาก −z ถึง +z maxAxis = absY ; uc = x ; vc = z ; * index = 3 ; } // ค่า Z เป็นบวกถ้า( isZPositive && absZ >= absX && absZ >= absY ) { // u (0 ถึง 1) มีค่าตั้งแต่ −x ถึง +x // v (0 ถึง 1) มีค่าตั้งแต่ −y ถึง +y maxAxis = absZ ; uc = x ; vc = y ; * index = 4; } // ค่า Z ติดลบถ้า( ! isZPositive && absZ >= absX && absZ >= absY ) { // u (0 ถึง 1) เคลื่อนที่จาก +x ถึง −x // v (0 ถึง 1) เคลื่อนที่จาก −y ถึง +y maxAxis = absZ ; uc = - x ; vc = y ; * index = 5 ; }// แปลงช่วงจาก -1 ถึง 1 เป็น 0 ถึง 1 * u = 0.5f * ( uc / maxAxis + 1.0f ); * v = 0.5f * ( vc / maxAxis + 1.0f ); }

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Cube_mapping&oldid=1352005463 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การทำแผนที่ลูกบาศก์

ในคอมพิวเตอร์กราฟิกส์การทำแผนที่แบบคิวบ์ (Cube Mapping)เป็นวิธีการทำแผนที่สภาพแวดล้อมที่ใช้ด้านทั้งหกของลูกบาศก์เป็นรูปร่างของแผนที่ สภาพแวดล้อมจะถูกฉายลงบนด้านต่างๆ

ประวัติศาสตร์

การแมปคิวบ์ได้รับการเสนอครั้งแรกในปี 1986 โดย Ned Greene ในบทความของเขาเรื่อง "Environment Mapping and Other Applications of World Projections" [ 3 ] สิบปีหลังจากที่ Jim Blinn และ Martin Newell เสนอการแมปสภาพแวดล้อมเป็นครั้งแรกอย่างไรก็ตาม...

ข้อดี

การทำแผนที่แบบคิวบ์ (Cube mapping) เป็นที่นิยมมากกว่าวิธีการทำแผนที่สภาพแวดล้อมแบบอื่น ๆ เนื่องจากมีความเรียบง่ายกว่า นอกจากนี้ การทำแผนที่แบบคิวบ์ยังให้ผลลัพธ์ที่คล้ายคลึงกับที่ได้จาก การติดตามรังสี (Ray tracing ) แต่มีประสิทธิภาพในการคำนวณสูงกว่ามาก...

ข้อเสีย

ข้อเสีย ได้แก่ ความไม่ต่อเนื่อง การจัดทำดัชนีจำนวนมาก การแทรกสอดเชิงเส้นของเวกเตอร์ (เมื่อคำนวณในฮาร์ดแวร์) การกรองข้ามขอบเขตแผนที่พื้นผิว และอาจจำเป็นต้องใช้พื้นผิวหลายแบบ [ 5 ]