OpenGL/vi

From Lazarus wiki
Revision as of 17:15, 6 July 2012 by Akarin (talk | contribs) (Created page with "{{OpenGL}} OpenGL ('''Open''' '''G'''raphics '''L'''ibrary) là 1 giao diện lập trình ứng dụng (API) đa nền tảng, dùng để phát triển ứng dụng đồ h...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Deutsch (de) English (en) français (fr) 日本語 (ja) português (pt) русский (ru) Tiếng Việt (vi) 中文(中国大陆)‎ (zh_CN)

OpenGL (Open Graphics Library) là 1 giao diện lập trình ứng dụng (API) đa nền tảng, dùng để phát triển ứng dụng đồ họa 2D & 3D. Hầu hết card đồ họa thời nay đều hỗ trợ OpenGL, hiup1 OpenGL trở thành 1 trong những sự lựa chọn tốt để phát triển ứng dụng đồ họa.

OpenGL unit trong Free Pascal

Trong FreePascal OpenGL có những unit sau:

  • gl: Unit chứa hầu tất cả những thủ tục & hàm chính của OpenGL, dùng để vẽ đa giác, thực hiện các phép biến đổi, thay đổi màu và vật liệu, ... Tất cả thủ tục đều bắt đầu bằng 2 chữ "gl".
  • glu: Unit chứa OpenGL utils. Mặc dù nó cũng có 1 vài thủ tục hữu ích, unit này không cần thiết vì bạn hoàn toàn có thể implement tất cả thủ tục của glu với hàm của unit gl. Tất cả thủ tục đều bắt đầu bằng 3 chữ "glu".
  • glext: 1 vài nhà sản xuất card đồ họa cung cấp thêm 1 vài lệnh mở rộng (extensions). Khai báo unit này để sử dụng những phần mở rộng đó.

    Unit cũng hỗ trợ thủ tục & hàm của OpenGL 1.2 hoặc cao hơn. Khởi tạo các thủ tực & hàm này tương tự như khởi tạo các phần mở rộng của OpenGL: Gọi hàm Load_GL_version_X_Y. Nếu bộ thư viện OpenGL của bạn cũ hơn X.Y, Load_GL_version_X_Y sẽ trả về giá trị false.

  • glut: Unit cung cấp thủ tục & hàm để khởi tạo 1 cửa sổ OpenGL. Mặc dù unit này đa nền tảng, Hầu hết hệ thống sử dụng hệ điều hành Windows đều không cài sẵn glut.dll.
  • glx: Unit cung cấp thủ tục & hàm để khởi tạo 1 cửa sổ OpenGL trên hệ thống x window. Tất cả thủ tục đều bắt đầu bằng 3 chữ "glx". Bạn không thể sử dụng unit này trên những hệ thống không phải là x window, ví dụ như Windows.

OpenGL unit trong Lazarus

Lazarus cung cấp TOpenGLControl - 1 LCL control hỗ trợ OpenGL. LazOpenGLContext package có thể tìm thấy tại lazarus/components/opengl/lazopenglcontext.lpk. 1 ví dụ có thể được tìm thấy tại lazarus/examples/openglcontrol/openglcontrol_demo.lpi. Nếu bạn muốn thay đổi TOpenGLControl implementation, ví dụ như thêm properties như ColorBits và AuxBuffers, xem Extending TOpenGLControl.

Third party OpenGL units

  • GLScene là 1 Lazarus package với nhiều tính năng bổ sung cho việc phát triển ứng dụng OpenGL.
  • Castle Game Engine cho phép bạn điều khiển & dựng hình 3D (trong VRML, X3D và 1 vài định dạng 3D khác).

Hướng dẫn

OpenGL Tutorial

Go to back Packages List