Danh mục

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

Số trang: 49      Loại file: pdf      Dung lượng: 364.56 KB      Lượt xem: 6      Lượt tải: 0    
Thư viện của tui

Phí tải xuống: 11,000 VND Tải xuống file đầy đủ (49 trang) 0
Xem trước 5 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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...
Nội dung trích xuất từ tài liệu:
Lập trình Opengl với thư viện AUXDienDanTinHoc – Tutorial Room Pending to be conterted to HTML Lập trình Opengl với thư viện AUX (Tài liệu tham khảo của trường đại học wakayama Nhật)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ì xemtạ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ácthư 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âygiờ 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ảithê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ửasổ.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ủabạn*/#include /*Nó sẽ xác định bạn biên dịch chương trình nàytrê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#include#include#endifint main(int argc, char *argv[]){ auxInitWindow(argv[0]); return 0;} http://www.diendantinhoc.net/tute/DienDanTinHoc – Tutorial Room Pending to be conterted to HTMLLệ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 đóngngay, 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 quansá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 trongvòng 1 phần nghìn giây)2-Theo dõi Window/*file name: hello1s.cpp*/#ifdef unix#include #include aux.h#define CALLBACK#else#include#include#include#endifint main(int argc, char *argv[]){ auxInitWindow(argv[0]);/*dòng lệnh mới , window sẽ hiện trong vòng 1 giây*/ Sleep(1000);/*dòng lệnh mới*/ return 0;}Trong phần source code mã nguồn này nằm trong file hello1s.cpp.3-Xoá màn hình trong openglTiếp theo tôi sẽ giới thiệu với các bạn cách xoá màn hình trong opengl.Dưới đâylà mã nguồn:/*filename: clear.cpp*/#ifdef unix#include #include aux.h#define CALLBACK#else#include#include#include#endifint main(int argc, char *argv[]){ auxInitWindow(argv[0]); http://www.diendantinhoc.net/tute/DienDanTinHoc – Tutorial Room Pending to be conterted to HTML/*Những dòng lệnh mới*/ glClearColor(1.0,1.0,1.0,0.0); glClear(GL_COLOR_BUFFER_BIT); glFlush();/*Những dòng lệnh mới*/ Sleep(1000); return 0;}Các lệnh glClearColor(), glClear(),glFush() là những lệnh cơ bản củaOpengl.glClearColor() có nhiệm vụ chọn màu để xoá window, bạn dễ dàng nhậnra là nó có 4 tham số, 4 tham số đó là RGBA( red green blue alpha).Khônggiống với hàm RGB() trong Win32 API , 4 tham số này có giá trị trong khoảng0.0f đến 1.0f(kiểu float).Ba tham số đầu là màu đỏ xanh lá cây và xanh da trời,còn tham số thứ 4 là độ sáng tối của window.Bây giờ hãy thay đổi các giá trị củamàu xem thử!Hàm glClear() mới thực sự xoá window, nó có những hằng số xácđịnh.Có trường hợp có những hàm chưa được chạy đến khi kết thúc chươngtrình, để tránh trường hợp này hàm glFlush()được gọi, nó sẽ thực hiện tất cả cáchàm chưa được chạy và kết thúc chương trình.4-Vẽ hình trong openglTừ trước đến giờ chúng ta mới chỉ nói về cách tạo và xoá cửa sổ, bây giờ chúngta sẽ thực hiện vẽ một số hình đơn giản:/*filename line.cpp*/#ifdef unix#include #include aux.h#define CALLBACK#else#include#include#include#endifint main(int argc, char *argv[]){ auxInitWindow(argv[0]); glClearColor(1.0,1.0,1.0,0.0); glClear(GL_COLOR_BUFFER_BIT);/*những dòng lệnh mới*/ glBegin(GL_LINE_LOOP); glVertex2d(0.1,0.1); glVertex2d(0.9,0.1); glVertex2d(0.9,0.9); glVertex2d(0.1,0.9);/*những dòng lệnh mới*/ glEnd(); http://www.diendantinhoc.net/tute/DienDanTinHoc – Tutorial Room Pending to be conterted to HTML glFlush(); Sleep(1000); return 0;}Tất cả các hình khối được vẽ trong opengl đều được nằm giữa hai dòng lệnhglBegin() và glEnd() (Hơi giống với pascal- bạn nào học pascal thì dễ hiểunhé!).Có thể có nhiều cặp dòng lệnh như vậy, tức là bạn có thể viết các hàm vẽkhác nhau và dùng cặp câu lệnh trên trong các hàm đó.Tham số của glBegin() làGL_LINE_LOOP có nghĩa là nó bảo window vẽ một đường khép kín điểm đầutrùng với điểm cuối.Dưới đây là một số hằng số cơ bản:Hằng số ý nghĩaGL_POINT Vẽ điểmGL_LINÉ Vẽ đường thẳng nối hai điểmGL_LINE_STRIP Tập hợp của ...

Tài liệu được xem nhiều:

Tìm kiếm theo từ khóa liên quan:

kỹ thuật công nghệ tự động hóa Opengl

Gợi ý tài liệu liên quan: