• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

OpenGL in VB : Object Handling

Các ví dụ nho nhỏ và những thứ linh tinh không thuộc nhóm nào
Hình đại diện của người dùng
Tunes
Thành viên tích cực
Thành viên tích cực
Bài viết: 116
Ngày tham gia: CN 13/04/2008 6:13 pm
Đến từ: Atlanta, USA
Been thanked: 2 time
Liên hệ:

OpenGL in VB : Object Handling

Gửi bàigửi bởi Tunes » T.Ba 13/01/2009 11:46 am

Tên chương trình: OpenGL Sample - Object Handling
Ngôn ngữ lập trình: Visual Basic
Tác giả: Tunes
Chức năng: Basic steps to OpenGL graphic programming


Hi mọi người, em có thấy trong forum này có bài hướng dẫn code 3D trong VB, em cũng xin góp một bài về OpenGL.
Đây là một source rất đơn giản nhưng rất quan trọng cho người mới học (như em), chức năng chương trình như sau:
1. Rotating Object
Dùng các phím UP, DOWN, LEFT, RIGHT để xoay vật.
2. Moving Object
Dùng chuột và nút chuột trái để kéo vật đi.
Chương trình còn nhiều lỗi, mong mọi người nếu phát hiện ra thì sửa dùm :D
Các hàm sử dụng :
wglCreateContext
Tạo vùng vẽ mới đã được format
wglMakeCurrent
Gán OpenGL vào vùng vẽ vừa tạo
glShadeModel
Thông số có thể là Flat hoặc Smooth, nếu là Flat thì màu nào vẽ trước thì sẽ sử dụng cho toàn bộ vật thể, còn Smooth sẽ làm cho màu giữa các đỉnh hòa trộn lại với nhau.
glClearColor
Ai cũng biết hoạt cảnh trong bất cứ chương trình nào đều được tạo ra bằng các Frame, và cứ vẽ xong Frame này thì qua Frame khác thì phải vẽ lại hết, hàm này xóa hết những gì có ở BackFrame và tô màu nền cho nó
glClear GL_COLOR_BUFFER_BIT
Reset lại thông tin của các bit
glTranslate
Hàm này dùng để di chuyển trong Trục, nói chính xác hơn là cộng Trục hiện thời với các thông số của nó. Ví dụ Trục mặc định là 0,0,0 thì Translate 1,0,0 rồi Translate tiếp 1,0,0 thì YOU đang ở tọa độ 2,0,0 trên Trục mặc định (trục hệ thống)
glPushMatrix
Lưu lại các thông tin của trục
glPopMatrix
Trả về các thông tin ban đầu (các thông tin trước khi gọi glPushMatrix)
glRotate
hàm này tương tự như glTranslate nhưng nó là Rotate!
glColor
Xác lập màu để vẽ, theo màu RGB (nhưng thực ra là BGR)
glBegin & glEnd
Báo cho OpenGl biết mình bắt đàu vẽ và đã vẽ xong
glFlush
Bắt buộc OpenGL phải vẽ xong (dù có gặp lỗi)
SwapBuffers
Xin lưu ý đây không phải là hàm của OpenGL mà là của GDI, chuyển đổi BackFrame và FrontFrame (người xem chỉ có thể thấy FrontFrame)
ie..
Mỏi tay quá, mong nọi người ủng hộ.. :)
Tập tin đính kèm
VB OpenGL.rar
Download Source
(2.59 KiB) Đã tải 1102 lần


Development means Challenge

vmtuan
Bài viết: 4
Ngày tham gia: T.Tư 13/10/2010 3:26 am

Re: OpenGL in VB : Object Handling

Gửi bàigửi bởi vmtuan » T.Tư 20/10/2010 5:56 am

Hiện mình đang có một đồ án về vẽ vật thể bằng openGL (trái đất và vệ tinh) bằng Visual C++ 6.0.
Bạn có thể hướng dẫn mình một chút về openGl được không?? trong ứng dụng MFC của VC nhé.
Thank bạn


Quay về “[VB] Mã nguồn linh tinh”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách