OPENGL

OpenGL คืออะไร

ชุดคำสั่ง ที่ช่วยในการทำงานประมวลผลและแสดงผล ทำให้มีประสิทธิภาพดียิ่งขึ้น ส่วนมากจะใช้ในงานด้าน
3D/CAD/CAM/CAE เช่น SolidWorks, Pro/E, Catia, 3dMax, Maya Etc. เดี๋ยวนี้เริ่มมีการนำไปใช้กับเกมแล้ว เช่น Quake


OpenGL จะช่วยอะไรได้บ้าง

ชุดคำสั่ง OpenGL คร่าว ๆ (OpenGL Graphic Functions)
• Accumulation buffer: เป็น buffer ที่สามารถรวมภาพหลาย ๆ ภาพให้เป็นภาพ ๆ เดียว เพื่อนำมาใช้ในการ
สร้าง Depth of Field, Motion Blur, และ Full-Scene Anti-Aliasing
• Alpha blending: ใช้เพื่อสร้างวัตถุโปร่งใส โดยเก็บค่าตั้งแต่ใสปิ้ง (totally transparency) จนถึงทึบสนิท
(totally opaque)
• Anti-aliasing: เป็นวิธีการ render ที่ใช้ในการทำให้เส้นและส่วนโค้งเนียนขึ้น (smooth lines and curves) โดย ใช้การรวมสีของแต่ละ pixel ที่อยู่ติดกับเส้น (average the color of the pixels adjacent to the line) ทำให้ ตามรอยต่อ หรือขอบต่าง ๆ ดูแล้วนุ่มนวลขึ้น
• Color-index mode: buffer ที่เก็บค่าสี เก็บค่าสี index แทนที่จะเก็บ RGB และ Alpha channel
• Display list: เป็นรายการชุดคำสั่งของ OpenGL โดยรายการนี้ จะถูกคำนวณล่วงหน้า (preprocessed) ทำให้ สามารถทำงานได้มีประสิทธิภาพสูงกว่า การเรียกใช้ชุดคำสั่งแบบทันที (immediate mode)
• Double buffering: ใช้เพื่อทำให้การเคลื่อนไหวของวัตถุราบรื่นขึ้น โดยภาพการเคลื่อนไหวแต่ละ frame จะถูก สร้างรอไว้ใน back buffer (ที่มองไม่เห็น) และถึงค่อยแสดงขึ้นจอ ทำให้ภาพที่แสดงผลทุกภาพ เป็นภาพที่
render เสร็จเรียบร้อยแล้ว
• Feedback: เป็นวิธีที่ OpenGL จะส่งค่า geometric information (colors, pixel positions, และอื่น ๆ) ที่ได้ คำนวณไปแล้ว กลับไปยังโปรแกรม เพื่อเปรียบเทียบในการ render เข้าสู่ frame buffer
• Gouraud shading: เป็นการแทรกสีเข้าไประหว่าง polygon หรือ segment เพื่อทำให้มีการไล่สีที่ดูเนียนขึ้น (Smooth interpolation of colors across a polygon or line segment. Colors are assigned at vertices and linearly interpolated across the primitive to produce a relatively smooth variation in color)
• Immediate mode: การเรียกใช้ชุดคำสั่ง OpenGL ทันที เมื่อมีการเรียกใช้คำสั่งนั้น
• Materials lighting and shading: การคำนวณสีอย่างถูกต้อง ณ แต่ละจุดบนพื้นผิวของวัตถุ (ability to
accurately compute the color of any point given the material propeties for the surface)
• Pixel operations: การ Storing, transforming, mapping และ zooming
• Polynomial evaluators: ใช้เพื่อรองรับ non-uniform rational B-splines (NURBS)
• Primitives: จุด, เส้น, polygon, bitmap, หรือภาพ
• RGBA mode: buffer สีเก็บค่า Red, Green, Blue และ Alpha
• Selection and picking: ระบบการทำงานที่ OpenGL เป็นผู้ตัดสินใจ render primitives ที่ผู้ใช้กำหนดไว้ เข้า สู่ frame buffer (A mode in which OpenGL determines whether certain user-identified graphics primitives are rendered into a region of interest in the frame buffer)
• Stencil planes: buffer ที่สามารถใช้ในการสร้างฉากบัง (mask) ในแต่ละจุดสี (pixels) ใน color frame buffer
• Texture mapping: ขั้นตอนการใส่ภาพ (image) ลงไปยัง primitive โดยเทคนิคนี้ใช้เพื่อสร้างภาพที่สมจริง
• Transformation: ความสามารถในการเปลี่ยนแปลงต่าง ๆ เช่น rotation, size และ perspective ของวัตถุใน รูปแบบพื้นที่ 3 มิติ (3D coordinate space)
• Z-buffering: Z-buffer ใช้เพื่อกำหนดว่า ส่วนใดของวัตถุอยู่ใกล้ผู้ชมมากกว่าวัตถุอื่น จำเป็นมาก โดยเฉพาะ
ในการทำให้วัตถุที่ถูกบังหายไป และใน OpenGL 1.2 ก็ได้เพิ่มความสามารถต่าง ๆ ขึ้นมาอีก
• Three-dimensional texturing: เพื่อรองรับการทำงานระดับ hardware ของระบบ volume rendering
• BGRA pixel formats และ packed pixel formats: เตรียมไว้เพื่อรองรับ file ให้มากขึ้น และรูปแบบของ hardware frame buffer ใหม่ ๆ
• Automatic rescaling of vertex normals: สำหรับงาน modeling matrix ซึ่งการ rescale ในบางที สามารถใช้ แทนการ renormalization ที่ยุ่งยากได้
• Specular highlights after texturing: สำหรับสร้าง effect การให้แสงที่สมจริงยิ่งขึ้น
• Texture coordinate edge clamping: เพื่อป้องกันการผสมของขอบภาพ ในระหว่างการทำ texturing
• Level of Detail (LOD) Control: ใช้ควบคุม bitmap textures เพื่อให้ดึงเฉพาะภาพที่แต่ละความละเอียดเท่า นั้น ช่วยในการประหยัดหน่วยความจำ โดยเฉพาะเวลาที่ texture ความละเอียดสูง ถูกนำมาใช้ กับวัตถุที่อยู่ ไกลมุมมองของผู้ชม
• Vertex array enhancement: เพื่อกำหนดจุดสำหรับการวาด geometry ภายในการทำงานครั้งเดียว ทำให้ ทำงานได้ดีขึ้นในการ pretransforming, caching transformed geometry และอื่น ๆ

Graphic Processor Chips that support OpenGL
(This list is not complete. If you have additional information please send an email to Chips@opengl.org)

Company Current Chips (with full OpenGL Reference Drivers )
3Dlabs Permedia 2 Permedia 3 GLINT DMX GLINT GMX Oxygen RPM, VX1, GVX1, GVX2
3Dfx Voodoo Rush 3D Voodoo Graphics Voodoo 2 Voodoo Banshee Voodoo 3 Voodoo 5
ATI Technologies 3D Rage 3D Rage II+ Rage 128 Rage Fury MAXX Radeon ___________ Rage Mobility 128
Evans & Sutherland RealImage 1000 RealImage 2000
Intel Intel740 Intel752 Intel 810 Chipset with Integrated Graphics
Intergraph Wildcat 4000
Matrox MGA-G200 MGA-G400
NEC/Videologic PowerVR Series 2 PowerVR Series 3
Number Nine Ticket to Ride Ticket to Ride IV
NVIDIA GeForce2 GTS GeForce DDR/SDR GeForce MX RIVA 128 RIVA 128 ZX RIVA TNT


อ้างอิงจาก OpenGL Datasheet - OpenGL: The Industry's Foundation for High-Performance Graphics -- www.opengl.org






Copyright 2000 CADTHAI.COM
Contact webmaster