Open Graphics Library(OpenGL)
OpenGL (tiếng Anh Open Graphics Library) là một tiêu chuẩn kỹ thuật đồ họa có mục đích định ra một giao diện lập trình ứng dụng (tiếng Anh: API) đồ họa 3 chiều. OpenGL cũng có thể được dùng trong các ứng dụng đồ họa 2 chiều. Giao diện lập trình này chứa ...
OpenGL (tiếng Anh Open Graphics Library) là một tiêu chuẩn kỹ thuật đồ họa có mục đích định ra một giao diện lập trình ứng dụng (tiếng Anh: API) đồ họa 3 chiều. OpenGL cũng có thể được dùng trong các ứng dụng đồ họa 2 chiều. Giao diện lập trình này chứa khoảng 250 hàm để vẽ các cảnh phức tạp từ những hàm đơn giản. Nó được dùng rộng rãi trong các trò chơi điện tử. Ngoài ra nó còn dùng trong các ứng dụng CAD, thực tế ảo, mô phỏng khoa học, mô phỏng thông tin, phát triển trò chơi. OpenGL còn có một đối thủ cạnh tranh là DirectX của Microsoft.
Không gian trong OpenGL được miêu tả qua hình học xạ ảnh. Một điểm trong không gian này có tất cả 4 tọa độ. Cách thể hiện các điểm trong không gian bằng 4 tọa độ cho phép xử lý các điểm vô tận một cách tổng quát. Vì vậy mã nguồn các ứng dụng đã được đơn giản hóa đi nhiều.
OpenGL được thiết kế nhầm thỏa mãn mục đích chính sau:
* Che dấu sự tuơng tác phức tạp với các bộ máy xúc tiến 3 chiều bằng cách đưa ra một giao diện lập trình thống nhất.
* Che dấu các sự khác biệt giữa các phần cứng 3 chiều bằng cách bắt buộc các phần cứng tương thích OpenGL phải hỗ trợ tất cả các chức năng của giao diện OpenGL. Nếu cần, các chức năng chưa được hỗ trợ đầy đủ bởi phần cứng có thể được hỗ trợ bằng phần mềm.
Các thao tác OpenGL cơ bản là nhận các nguyên hàm hình học như điểm, đường thẳng và đa giác rồi chuyển thành các điểm đồ họa (pixel) trên màn hình. Điều này được thực hiện bởi luồng ống dẫn đồ họa (graphics pipeline). Nó còn được gọi là bộ máy trạng thái OpenGL. Đa số các lệnh OpenGL được dùng để tạo ra các hình học cơ bản đã gặp ở trên hoặc là qui định cách chuyển đổi hình học trong bộ máy trạng thái OpenGL.
Trước khi OpenGL 2.0 ra đời, mỗi giai đoạn trong luồng ống dẫn đồ họa thi hành một nhiệm vụ nhất định, khó có thể thay đổi được. Từ phiên bản OpenGL 2.0, một số giai đoạn đó có thể sửa đổi bằng cách dùng ngôn ngữ chuyển màu GLSL.
Some notable games with OpenGL renderer include: ryuru
* America's Army
* BaldersGate 2 – Mặc định dùng Direct3D
* Call of Duty
* City of Heroes
* City of Villains
* CounterStrike 1.6
* Doom 3
* ETQW
* Half-Life
* Neverwinter Nights
* Quake
* Serious Sam
* Serious Sam SE
* Serious Sam 2 – Mặc định dùng Direct3D
* Unreal
* Warcraft 3 – Mặc định dùng Direct3D
* World of Warcraft - OpenGL trên Mac
* HomeWorld 2
* GLSL - Ngôn ngữ chuyển màu OpenGL
* Cg - Ngôn ngữ chuyển màu của hãng nVidia dùng cho OpenGL
* Java OpenGL - OpenGL cho Java
* OpenGL ES - OpenGL for embedded systems
* OpenAL - Thư viện âm thanh tự do thiết kế với mục địch dùng chung với OpenGL.
* OpenSL ES - Một thư viện âm thanh khác
* Graphics pipeline
* GLUT - Thư viện công cụ cho OpenGL
* GLU - Thư viện hàm cho các ứng dụng OpenGL
* Mesa 3D - Một thư viện thực thi OpenGL mã nguồn mở
* Direct3D - Thư viện đồ họa của Microsoft
* Light Weight Java Game Library
* VirtualGL