Cỡ chữ: Vừa | Lớn | Lớn hơn

Lập trình Opengl với thư viện AUX

Bùi Minh Trường

Xem nhanh:

1

I-Giới thiệu về Opengl:

 Opengl là thư viện lập trình đồ hoạ 3D, các bạn muốn biết thêm thì xem tại trang chủ opengl. Org.Bài viết này dành cho những bạn đã biết opengl là gì, và nó cũng là bài đầu tiên cho việc học đồ hoạ với opengl sau này.

II-Opengl trong Windows:

 Lập trình opengl trong Windows bằng Visual C, bạn phải sử dụng ba thư viện sau glaux.lib glu32.lib và opengl32.lib.Trong Visual C muốn link tới các thư viện này các bạn làm như sau: trên menu(trình đơn) chọn Project sau đó chọn setting rồi cuối cùng trong tab link bạn dánh tên 3 thư viện trên vào(nhớ là có dấu cách giữa các tên của thư viện).Nếu bạn thích sử dụng phím tắt thì chỉ việc bấm Alt+F7 thì cũng được kết quả như trên.Một điều cũng rất quan trọng là khi tạo một project mới bạn phải chọn Window32 console application.Từ bây giờ bạn đã có thể sẵn sàng viết mã lệnh của mình.(Nên nhớ là bạn không phải thêm bất cứ cái gì nữa vì trong VC đã có đầy đủ những cái tôi đề cập ở trên).

III-Tạo một cửa sổ trong opengl:

 Dưới đây là mã nguồn cho chương trình đầu tiên của bạn để tạo một cửa sổ.Hãy lưu nó với tên gì tuỳ bạn(ví dụ hello.c như truyền thống)

1-Chương trình đầu tiên của bạn:

/*filename: hello.c*/

/*Chương trình đầu tiên tạo một cửa sổ trong opengl*/

#ifdef unix          /*Phần này dùng để xác định môi trường làm việc của bạn*/

#include <GL/gl.h>        /*Nó sẽ xác định bạn biên dịch chương trình này trên unix*/ 

#include “aux.h“        /*hay Windows, với lập trình viên trên windows bạn có    */ 

#define CALLBACK        /*thể bỏ phần bên trên đi và chỉ lấy phần in đậm*/

#else

#include<windows.h>

#include<GL/gl.h>

#include<GL/glaux.h>

#endif

int main(int argc, char *argv[])

{

 auxInitWindow(argv[0]);

 return 0;

}

Lệnh auxInitWindow(string); có tác dụng tạo một cửa sổ mới, string là tiêu đề của cửa sổ đó, bạn có thể viết tiều đề như thế nào là tuỳ bạn.

Chương trình này sau khi biên dịch thì nó mới chỉ hiện ra một cửa sổ rồi đóng ngay, nếu windows của bạn chạy nhanh quá thì bạn sẽ không nhìn thấy chi hết

Sau đây chúng ta sẽ bắt Window dùng lại chừng 1 giây để chúng ta quan sát.Cũng với mã lệnh trên bạn chỉ cần thêm một dòng lệnh: sleep(số_giây_muốn_xem x 1000);(tức là lệnh này bắt window tạm dừng trong vòng 1 phần nghìn giây)
Phần sau Xem nhanh: