Skip to main content

OpenGl reg;Quadrilateral หรือ Quad ในการเขียนโปรแกรมคอมพิวเตอร์และกราฟิกเป็นรูปร่างสามมิติ (3D) หรือที่เรียกว่ารูปหลายเหลี่ยมที่มีสี่ด้านและสี่จุดแต่ละจุด 3 มิติที่แสดงมุมเดียวของ OpenGL reg;Quad เป็นที่รู้จักกันในชื่อจุดสุดยอดและถูกกำหนดด้วยตัวเลขสามตัวที่เกี่ยวข้องกับตำแหน่งพิกัดในพื้นที่เสมือนจริงจุดยอดของรูปสี่เหลี่ยมไม่จำเป็นต้องปฏิบัติตามแนวทางที่แท้จริงใด ๆ ยกเว้นว่าจะต้องมีสี่ของพวกเขา;มิฉะนั้นรูปร่างจะเรียกว่ารูปหลายเหลี่ยมสามเหลี่ยมหรือเส้นขึ้นอยู่กับจำนวนจริงภาพดิจิตอลส่วนใหญ่เป็นรูปสี่เหลี่ยมผืนผ้าจริง ๆ ดังนั้น OpenGL reg;Quad อาจเป็นรูปร่างที่มีประโยชน์เนื่องจากภาพสามารถแมปพื้นผิวกับพื้นผิวโดยไม่ต้องมีการบิดเบือนจำนวนมากและไม่จำเป็นต้องใช้เทคนิคการทำแผนที่พื้นผิวที่ซับซ้อนการใช้ OpenGL reg;อย่างไรก็ตาม Quad มีความท้าทายของตัวเองและมีโปรแกรมเมอร์จำนวนมากที่แนะนำให้หลีกเลี่ยงการใช้งานอย่างสมบูรณ์

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

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

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

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

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