OpenGL® Class คืออะไร?

คลาสOpenGL®สามารถอ้างถึงการใช้งานเชิงวัตถุของส่วนต่าง ๆ ของOpenGL® abstract programming interface (API) หรือคลาสที่ใช้การเรียกใช้ฟังก์ชัน OpenGL ภายในโค้ดของตัวเอง ลักษณะของไลบรารีOpenGL®หมายความว่าไม่มีการสนับสนุน API เชิงวัตถุเวอร์ชันและโปรแกรมส่วนใหญ่เรียกว่าฟังก์ชั่นตามที่เขียนนอกชั้นเรียน เมื่อภาษาเชิงวัตถุกลายเป็นที่แพร่หลายมากขึ้นไลบรารีคลาสOpenGL®ที่แตกต่างกันดูเหมือนจะทำหน้าที่เป็นวัตถุห่อหุ้มสำหรับไลบรารีหลัก มีประโยชน์ในการใช้คลาส OpenGL ที่ได้รับการรับรู้อย่างเต็มรูปแบบแทนที่จะเป็นเพียงชุดของฟังก์ชั่นที่มีให้ในไลบรารีรวมถึงการห่อหุ้มและวิธีการรับคลาสฟังก์ชั่นใหม่ผ่านการสืบทอด ไม่ใช่นักพัฒนาทุกคนที่ใช้ไลบรารีคลาสOpenGL®เนื่องจากอาจทำให้สับสนในการเปลี่ยนไปใช้กระบวนทัศน์การเขียนโปรแกรมเชิงวัตถุ

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

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

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

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