OpenGL

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Logo chính thức của 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 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.

Thiết kế[sửa | sửa mã nguồn]

OpenGL được thiết kế nhằm thỏa mãn mục đích chính sau:

  • Che giấu sự tươ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 giấ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.

Các trò chơi được viết với OpenGL[sửa | sửa mã nguồn]

Hình ảnh[sửa | sửa mã nguồn]

Tài liệu tham khảo thêm[sửa | sửa mã nguồn]

  • 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

Thư viện hỗ trợ OpenGL[sửa | sửa mã nguồn]

  • GLUT - Thư viện công cụ cho OpenGL
  • GLU - Thư viện hàm cho các ứng dụng OpenGL

Các giao diện lập trình đồ họa khác[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]