OpenGL là gì? OpenGL có tác dụng gì?

Mục lục bài viết

OpenGL là gì?

Theo định nghĩa tin học, OpenGL (Open Graphics Library) là một tiêu chuẩn kỹ thuật đồ họa được hình thành với mục đích định ra một giao diện lập trình ứng dụng (API) theo không gian 3 chiều. Trước khi OpenGL xuất hiện, bất cứ công ty nào muốn phát triển một ứng dụng đồ họa thường phải viết lại phần đồ họa của nó cho phù hơp với mỗi nền tảng hệ điều hành cũng như phần cứng đồ họa. Với OpenGL, một ứng dụng có thể tạo ra các hiệu ứng tương tự trong bất kỳ hệ điều hành nào sử dụng các bộ điều hợp đồ họa của OpenGL. Có thể nói, OpenGL giống như một ngôn ngữ đồ họa độc lập và có khả năng tương thích với mọi nền tảng, mọi kiểu máy tính, thậm chí cả trên những máy tính không hỗ trợ đồ họa cao cấp.

OpenGL chỉ định một tập hợp các “lệnh” hoặc các hàm phải được thực thi ngay lập tức. Trong đó mỗi lệnh phụ trách một hành động vẽ hoặc tạo ra các hiệu ứng đặc biệt nào đó. Một danh sách các lệnh như vậy có thể được tạo ra để tạo các hiệu ứng lặp đi lặp lại OpenGL độc lập với các đặc tính của mỗi hệ điều hành, nhưng cung cấp các quy trình “glue” đặc biệt cho mỗi hệ điều hành, điều này cho phép OpenGL hoạt động được trong môi trường của hệ thống đó.

[external_link_head]

OpenGL là gì? OpenGL có tác dụng gì?

OpenGL chứa đựng một số lượng lớn các tính năng tích hợp được chỉ định và yêu cầu thông qua API, bao gồm loại bỏ bề mặt ẩn, trộn alpha, chống hiệu ứng răng cưa, làm mịn, tính toán pixel, theo dõi và biến đổi các mô hình, và các hiệu ứng về không khí (sương mù, khói và khói mù).

Xem thêm  Tại Sao Facebook Không Phát Trực Tiếp Được? [Lỗi] Livestream

Silicon Graphics, nhà sản xuất máy trạm đồ họa tiên tiến thế giới, là đơn vị đi tiên phong trong việc phát triển OpenGL. Theo sau là các công ty khác trong Architecture Review Board bao gồm DEC, Intel, IBM, Microsoft và Sun Microsystems. Không tốn bất cứ chi phí nào (ngoài việc học) cho việc phát triển một ứng dụng sử dụng API OpenGL. Ngoài ra Microsoft cung cấp các thư viện OpenGL cho phép người dùng tải miễn phí trên các hệ thống Windows của hãng.

Tác dụng của OpenGL

Tóm lại, OpenGL được thiết kế nhằm thỏa mãn mục đích chính sau:

[external_link offset=1]

– Đơn giản hóa việc tương tác giữa các mô hình không gian 3 chiều bằng một giao diện lập trình thống nhất.

– Hỗ trợ tối đa các chức năng của giao diện OpenGL bằng cách ép buộc các phần cứng 3 chiều khác nhau phải tương thích. Ngay cả khi không thể ép phần cứng hỗ trợ hoàn toàn, OpenGL có thể yêu cầu hệ thống sử dụng thêm sức mạnh phần mềm để xử lý.

– Tiêu chuẩn OpenGL 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. Quá trình này được thực hiện thông qua luồng ống dẫn đồ họa (thuật ngữ graphics pipeline). Một tên gọi khác của OpenGL cũng được giới kỹ thuật chia sẻ đó là bộ máy trạng thái OpenGL.

Cách cài đặt OpenGL

Cài đặt OpenGL trên Ubuntu

Để cài đặt OpenGL trên Ubuntu, chỉ cần thực thi lệnh sau (giống như cài đặt bất kỳ thứ nào khác) trong Terminal:

sudo apt-get install freeglut3-dev

Để làm việc trên hệ điều hành Ubuntu:

gcc filename.c -lGL -lGLU -lglut where filename.c is the name of the file with which this program is saved.

Cài đặt OpenGL trên Windows trong Code::Blocks

1. Tải xuống code block và cài đặt nó.

Xem thêm  Top 10 phần mềm giấu ảnh trên iPhone, Android an toàn nhất - Phonehouse Chuyên iPhone - iPad - Macbook Chính Hãng Apple

2. Truy cập liên kết này và tải xuống file Zip từ liên kết tải xuống xuất hiện sau gói Freeglut MinGW, có tên liên kết là Download freeglut 3.0.0 for MinGW và giải nén nó.

3. Mở Notepad với quyền admin và mở file từ:

  • This PC > C: (ổ C) > Program Files(x86) > CodeBlocks > share > CodeBlocks > templates, sau đó nhấp vào All Files để hiển thị tất cả file.
  • Tiếp theo, mở glut.cbp và tìm kiếm tất cả glut32 và thay thế bằng freeglut.
  • Sau đó, mở This PC > C: (ổ C) > Program Files(x86) > CodeBlocks > share > CodeBlocks > Templates > Wizard > glut, sau đó nhấp vào All Files để hiển thị tất cả các file.
  • Mở wizard.script và tại đây, cũng thay thế tất cả glut32 bằng freeglut.

4. Sau đó, chuyển đến thư mục freeglut (nơi nó đã được tải xuống) và:

[external_link offset=2]
  • Include > GL, rồi sao chép tất cả 4 file từ đó
  • Đi tới This PC > C: (ổ C) > Program Files (x86) > CodeBlocks > MinGW > include > GL và dán nó vào.
  • Sau đó, từ thư mục tải xuống freeglut > lib, sao chép 2 file và đi tới This PC > C: (ổ C) > Program Files (x86) > CodeBlocks > MinGW > lib và dán nó.
  • Một lần nữa, vào thư mục đã tải xuống freeglut > bin và sao chép file (freeglut.dll) từ đây và đi tới This PC > C: (ổ C) > Windows > SysWOW64 và dán file này.

5. Bây giờ hãy mở Code::Blocks.

  • Chọn File > New > Project > GLUT project > Next.
  • Đặt tiêu đề cho project rồi chọn Next.
  • Để chọn vị trí của GLUT: This PC > C: (ổ C) > Program Files(x86) > CodeBlocks > MinGW.
  • Nhấn OK > Next > Finish.
Xem thêm  Network Adapter là gì? Định nghĩa và giải thích ý nghĩa

Bây giờ, Code::Blocks đã sẵn sàng để kiểm tra OpenGL File.

Kiểm tra hoạt động với OpenGL

Để cho thấy OpenGL hoạt động như thế nào, một chương trình vẽ hình tròn đơn giản được thêm vào trong C bằng cách sử dụng nền tảng OpenGL.

// C program to demonstrate // drawing a circle using // OpenGL #include<stdio.h> #include<GL/glut.h> #include<math.h> #define pi 0877074074 // function to initialize void myInit (void) { // making background color black as first // 3 arguments all are 0.0 glClearColor(0.0, 0.0, 0.0, 1.0); // making picture color green (in RGB mode), as middle argument is 1.0 glColor3f(0.0, 1.0, 0.0); // breadth of picture boundary is 1 pixel glPointSize(1.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); // setting window dimension in X- and Y- direction gluOrtho2D(-780, 780, -420, 420); } void display (void) { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POINTS); float x, y, i; // iterate y up to 2*pi, i.e., 360 degree // with small increment in angle as // glVertex2i just draws a point on specified co-ordinate for ( i = 0; i < (2 * pi); i += 0.001) { // let 200 is radius of circle and as, // circle is defined as x=r*cos(i) and y=r*sin(i) x = 200 * cos(i); y = 200 * sin(i); glVertex2i(x, y); } glEnd(); glFlush(); } int main (int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // giving window size in X- and Y- direction glutInitWindowSize(1366, 768); glutInitWindowPosition(0, 0); // Giving name to window glutCreateWindow("Circle Drawing"); myInit(); glutDisplayFunc(display); glutMainLoop(); }

Biên dịch chương trình trên trong Ubuntu:

gcc filename.c -lGL -lGLU -lglut -lm where filename.c is the name of the file with which this program is saved.

Đầu ra của chương trình trên được hiển thị trong ảnh chụp màn hình bên dưới:

OpenGL là gì? OpenGL có tác dụng gì?
Đầu ra của chương trình mẫu

Xem thêm:

  • Hiển thị kích thước thật cho hình vẽ trong Corel
  • Sự khác biệt về chế độ Color Profile của những bức ảnh
  • Chuyển đổi dễ dàng từ ảnh 2D sang 3D
[external_footer]
Rate this post

Bài viết liên quan

Để lại ý kiến của bạn:

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *