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

|