JOGL - ภาพรวม

บทนี้จะแนะนำ OpenGL ฟังก์ชันของมันการรวม OpenGL ใน java (GL4java, LWJGL, JOGL) และข้อดีของ JOGL ที่เหนือกว่าการเชื่อม OpenGL อื่น ๆ

Jการผูก ava สำหรับ OปากกาGL(JOGL) เป็นการเชื่อมโยงล่าสุดสำหรับ OpenGL graphics API ใน Java เป็นไลบรารีของ Wrapper ซึ่งสามารถเข้าถึง OpenGL API และได้รับการออกแบบมาเพื่อสร้างแอปพลิเคชันกราฟิก 2D และ 3D ที่เข้ารหัสใน Java JOGL เป็นไลบรารีโอเพ่นซอร์สที่พัฒนาโดยอดีตนักศึกษาระดับบัณฑิตศึกษาของ MIT Ken Russell และ Chris Kline ต่อมาได้ถูกนำมาใช้โดยกลุ่มเกมที่ Sun Microsystems และตอนนี้ได้รับการดูแลโดย Java บน Graphics Audio and Processing (JOGAMP) ฟังก์ชัน JOGL บนระบบปฏิบัติการต่างๆเช่น Windows, Solaris, Mac OS X และ Linux (บน x86)

OpenGL คืออะไร?

OpenGL ย่อมาจาก Open Graphics Library ซึ่งเป็นชุดคำสั่งในการสร้างกราฟิก 2 มิติและ 3 มิติ ด้วย OpenGL คุณสามารถสร้างรูปทรง 3 มิติที่ซับซ้อนโดยใช้พื้นฐานพื้นฐานเช่นจุดเส้นรูปหลายเหลี่ยมบิตแมปและรูปภาพ

นี่คือคุณสมบัติบางประการของ OpenGL -

  • สามารถทำงานได้บนหลายแพลตฟอร์ม

  • มีการผูกในหลายภาษาเช่น C ++, Python เป็นต้น

  • สามารถแสดงกราฟิกเวกเตอร์ 2D และ 3D

  • มันโต้ตอบกับหน่วยประมวลผลกราฟิก (GPU) เพื่อให้ได้การแสดงผลที่รวดเร็วและมีคุณภาพสูง การเรนเดอร์เป็นกระบวนการสร้างภาพจากโมเดล 2 มิติหรือ 3 มิติ

  • เป็น API มาตรฐานอุตสาหกรรมสำหรับการเขียนแอปพลิเคชันกราฟิก 3 มิติ ตัวอย่างเช่นเกมสกรีนเซฟเวอร์เป็นต้น

  • ประกอบด้วยคำสั่งประมาณ 150 คำสั่งซึ่งโปรแกรมเมอร์สามารถใช้เพื่อระบุวัตถุและการดำเนินการเพื่อพัฒนาแอปพลิเคชัน

  • ประกอบด้วย OpenGL Utility Library (GLU) ที่มีคุณสมบัติการสร้างแบบจำลองต่างๆเช่นพื้นผิวรูปสี่เหลี่ยมและเส้นโค้ง NURBS GLU เป็นส่วนประกอบมาตรฐานของ OpenGL

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

ดังนั้น OpenGL จึงขึ้นอยู่กับภาษาโปรแกรมอื่น ๆ สำหรับงานหน้าต่าง

Java Binding สำหรับ OpenGL API

เป็นข้อกำหนด Java Specification Request (JSR) API ซึ่งอนุญาตให้ใช้ OpenGL บนแพลตฟอร์ม Java

ข้อมูลจำเพาะ รายละเอียด
JSR 231 แพ็คเกจการรวม Java นี้รองรับแพลตฟอร์ม Java SE
JSR 239 แพ็คเกจการรวม Java นี้รองรับแพลตฟอร์ม Java ME

การผูก OpenGL ใน Java มีหลากหลาย พวกเขาจะกล่าวถึงด้านล่าง

GL4java

เรียกว่า OpenGL สำหรับเทคโนโลยี Java มีลิงก์ไปยัง OpenGL 1.3 และส่วนขยายของผู้จำหน่ายเกือบทั้งหมด นอกจากนี้ยังสามารถใช้กับ Abstract Window Toolkit (AWT) และ Swings มันเป็นเกมที่เน้นการผูก OpenGL ซึ่งเป็นหน้าต่างเดียวที่แสดงแอปพลิเคชันแบบเต็มหน้าจอ

LWJGL

  • ไลบรารีเกม Java น้ำหนักเบา (LWJGL) ใช้ OpenGL 1.5 และทำงานร่วมกับ java เวอร์ชันล่าสุด

  • สามารถใช้ความสามารถแบบเต็มหน้าจอของ JSE 1.4 มีการรองรับ AWT / Swings แบบ จำกัด

  • เหมาะสำหรับอุปกรณ์น้ำหนักเบาเช่นโทรศัพท์มือถืออุปกรณ์ฝังตัว ฯลฯ

JOGL

  • JOGL มุ่งเน้นไปที่การแสดงผล 2D และ 3D เท่านั้น อินเทอร์เฟซที่เกี่ยวข้องกับเสียงและอินพุตเอาต์พุตไม่รวมอยู่ใน JOGL

  • ประกอบด้วยไลบรารียูทิลิตี้กราฟิก (GLU), ชุดเครื่องมือยูทิลิตี้ GL (GLUT) และ API ของตัวเอง - Native Windowing Toolkit (NEWT)

ทำไมต้อง JOGL?

  • ให้การเข้าถึง API ของ OpenGL อย่างเต็มรูปแบบ (เวอร์ชัน 1.0, 4.3, ES 1, ES 2 และ ES 3) ตลอดจนส่วนขยายผู้จำหน่ายเกือบทั้งหมด ดังนั้นคุณสมบัติทั้งหมดใน OpenGL จึงรวมอยู่ใน JOGL

  • JOGL ทำงานร่วมกับ AWT, Swing และ Standard Widget Toolkit (SWT) นอกจากนี้ยังมี Native Windowing Toolkit (NEWT) ของตัวเองด้วย ดังนั้นจึงให้การสนับสนุนอย่างสมบูรณ์สำหรับหน้าต่าง

ประวัติ JOGL

  • 1992 - Silicon Graphics Inc. เปิดตัวข้อกำหนด OpenGL ตัวแรก

  • 2546 - เว็บไซต์ Java.net เปิดตัวพร้อมคุณสมบัติใหม่และ JOGL ได้รับการเผยแพร่เป็นครั้งแรกบนเว็บไซต์เดียวกัน

  • 2010 - ตั้งแต่ปี 2010 เป็นต้นมาเป็นโครงการโอเพ่นซอร์สอิสระภายใต้ใบอนุญาต BSD ซึ่งเป็นใบอนุญาตเสรีสำหรับซอฟต์แวร์คอมพิวเตอร์