Difference between revisions of "OpenGL/vi"

From Lazarus wiki
Jump to navigationJump to search
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{OpenGL}}
 
{{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ọa 2D và 3D. Hầu hết card đồ họa thời nay đều hỗ trợ OpenGL, giúp 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 ('''Open''' '''G'''raphics '''L'''ibrary) là một 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 và 3D. Hầu hết card đồ họa thời nay đều hỗ trợ OpenGL, giúp OpenGL trở thành một trong những sự lựa chọn tốt để phát triển ứng dụng đồ họa.
  
 
==OpenGL unit trong Free Pascal==
 
==OpenGL unit trong Free Pascal==
  
 
Trong FreePascal OpenGL có những unit sau:
 
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".
+
* '''gl''': Unit chứa 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".
+
* '''glu''': Unit chứa OpenGL utils. 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 đó. <p>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.</p>
+
* '''glext''': 1 vài nhà sản xuất card đồ họa cung cấp thêm một vài lệnh mở rộng (extensions). Khai báo unit này để sử dụng những phần mở rộng đó. <p>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.</p>
* '''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.
+
* '''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.
+
* '''glx''': Unit cung cấp thủ tục & hàm để khởi tạo 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==
 
==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.
+
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. dụ có thể được tìm thấy tại lazarus/examples/openglcontrol/openglcontrol_demo.lpi. Xem thêm [[Extending TOpenGLControl]].
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==
 
==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.
+
*[[GLScene]] là một gói (package) của Lazarus 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).
+
*[[Castle Game Engine]] cho phép bạn điều khiển & dựng hình 3D (trong VRML, X3D và một vài định dạng 3D khác).
  
 
==Hướng dẫn==
 
==Hướng dẫn==
Line 27: Line 26:
  
 
Go to back [[Package_List|Packages List]]
 
Go to back [[Package_List|Packages List]]
 
[[Category:Graphics]]
 

Latest revision as of 08:50, 15 July 2012

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

OpenGL (Open Graphics Library) là một 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 và 3D. Hầu hết card đồ họa thời nay đều hỗ trợ OpenGL, giúp OpenGL trở thành một 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 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. 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 một 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 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. Ví dụ có thể được tìm thấy tại lazarus/examples/openglcontrol/openglcontrol_demo.lpi. Xem thêm Extending TOpenGLControl.

Third party OpenGL units

  • GLScene là một gói (package) của Lazarus 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à một vài định dạng 3D khác).

Hướng dẫn

OpenGL Tutorial

Go to back Packages List