0. Sự khác nhau về OpenGL và Glut:
- OpenGL là thư viện đồ họa gồm các API về thuật toán vẽ hình, các phép biến đổi, phép chiếu của thực thể.
- GLUT là thư viện quản lí cửa sổ, các thao tác nhập xuất như bàn phím, chuột, menu đơn. Cũng như các API liên quan tới việc giao tiếp của người dùng với OpenGL.
1. Tải GLUT tại đây.
2. Giải nén. Trong đó có 3 file cần lưu tâm:
“glut32.dll” Chép vào thư mục C:\Windows\System32. (Nếu cẩn thận thì nên copy sang thư mục khác nữa là :C:\Windows\SysWOW64 )
“glut.h” Chép vào thư mục include của Visual C++.
- Với phiên bản 2012: Chép vào: C:\Program Files\Microsoft Visual Studio 11.0\VC\include. Đối với bản 2012: thư mục gl không còn tồn tại nữa, thực tế các header file liên quan đến OpenGL đã được đưa đến nơi khác. Thư mục đó vẫn có tên là gl. Vì vậy đối với bản 2012. Khi lập trình ta cần include như sau:
#include <glut.h> #include <gl/gl.h> #include <gl/glu.h>
- Với phiên bản 2010: Chép vào: C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\gl.
- Với phiên bản 2008: Chép vào: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl.
- Với phiên bản 2005: Chép vào: C:\Program Files\Microsoft Visual Studio.NET\Vc7\PlatformSDK\Include\gl
- Với phiên bản 2012: C:\Program Files\Microsoft Visual Studio 11.0\VC\lib
- Với phiên bản Visual Studio 2010: C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib
- Với phiên bản Visual Studio 2008: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
- Với phiên bản Visual Studio 2005: C:\Program Files\Microsoft Visual Studio.NET\Vc7\PlatformSDK\lib.
- Tạo một empty project Win32 console application.
- Click chuột phải vào dự án ở Solution Explorer, chọn Properties. Phần Linker, mục Additional Dependence nhập các file sau:
glut32.lib glu32.lib opengl32.lib
- Phần VC++ Directories, chọn mục Include Directories click edit vào trỏ đến đường dẫn tương ứng cho thư mục include ở phần trên. Làm tương tự với Library Directories.
#include <GL/glut.h> #include <GL/gl.h> #include <GL/glu.h>
5.Lưu ý: Khi include các thư viện stdio.h, stdlib.h thì phải include các file này trước, sau đó mới include các header file của GLUT
bạn ơi cho tôi hỏi ... tại sao không thể copy file glut.dll vào system32 or syswow64 được .... bạn có thể giúp tôi được ko
ReplyDeleteLạ nhỉ? Chỉ cần copy và paste vô 2 thư mục đó thôi mà. Hay là bị lỗi permission dinied nhỉ?
Deletea ơi sao linker của e ko có mục Additional Dependence vậy
ReplyDeleteLinker -> Input -> Additional Dependence
Deleteanh ơi có cần cái glaux.lib không nhỉ?
ReplyDeleteKhông đâu bạn, nếu đã dùng glut thì không cần dùng glaux.lib :)
DeleteChào anh! em muốn cài thư viện này vào turbo c thì phải làm thế nào? em có đoạn code vẽ đường thẳng khi chạy nó báo lỗi ở thư viện gl/gl.h anh giúp em với!
ReplyDeleteBạn có thể cho mình biết turbo C báo lỗi gì không?
Deleteah mình bỏ Turbo C rồi mình qua sử dụng Devc rồi. Ah mình có bài tập về đồ họa nhưng chạy báo lỗi bạn xem giùm mình với http://www.mediafire.com/?57j3dm6d5jm4go5
ReplyDeleteBến OpenGL mình mới chỉ làm việc với fw Glut và freeglut, còn với môi trường graphic của devC mình chưa tìm hiểu, bạn thông cảm nghen :).
DeleteA cho e hỏi mục 3 config cho VS là làm mỗi khi mình tạo pj mới hả a?
ReplyDeleteỪa, mỗi lần tạo 1 project thì config lại :)
DeleteThis comment has been removed by the author.
ReplyDeleteXài win 8 thì 2 file “glut.h” và
ReplyDelete“glut32.lib" bỏ vào đâu đc ạ
Phiên bản Windows không ảnh hưởng đến cấu hình, chỉ có phiên bản IDE thì khác thôi. Nếu bạn đang dùng VS 2012 thì có lẽ giống VS 2010. Mình chưa thử trên IDE mới này, khi nào test xong mình sẽ edit lại.
DeleteThân.
P/s: Nghe tên khá quen, có phải bạn học bên HCMUS.FIT không? K11 hả?
A mình biết bạn rồi, giờ mới xem about ... hi..
Deletemình ko tìm tháy thư mục include và lib như đường dẫn, mình xai VS2012
Bạn học chuyên ngành TGMT phải không
Đã update về bản 2012.
Deletesao minh khong tim thay Linker nhi
ReplyDeletebạn dùng bản VS nào?
Deletebạn hướng dan rõ hơn phần VC++ Directories, làm thế nào trỏ đến đường dẫn tương ứng cho thư mục include
ReplyDeleteclick vô dấu ... để thêm vào, 1 hộp thoại hiện ra và bạn trỏ nó đến thư mục mới vừa chép file header vô là xong. Thực ra bước này cũng ko cần lắm nếu bạn chép trực tiếp trong thư mục Project, hoặc trong default header file của VC++ :)
ReplyDeletecho mình hỏi chút
ReplyDeleteMình vẽ bất cứ hình gì cũng không ra, chỉ ra màng hình trắng thôi, VS 2010 cũng không có báo lỗi
Thanks!
Bạn có thể đưa source code mình xem không? Vì bạn mô tả chung chung nên mình chưa rõ là bị lỗi gì :)
ReplyDelete#include
ReplyDelete#include
int width = 800, height = 600;
void Init(void)
{
// Thiet lap mau nen
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
// Thiet lap phep chieu
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-width/2,width/2,-height/2,height/2);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
return;
}
void VeDuongThang(void)
{
glColor3f(1,0,0);
glPointSize(5);
glBegin(GL_LINES);
glVertex2i(100,100);
glVertex2i(150,150);
glEnd();
return;
}
void ComputersGraphics(void)
{
glClear(GL_COLOR_BUFFER_BIT);
VeDuongThang();
glFlush();
return;
}
int main(int argc, char* argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowPosition(10,10);
glutInitWindowSize(width,height);
glutCreateWindow("Computers Graphics With OpenGL");
Init();
glutDisplayFunc(ComputersGraphics);
glutMainLoop();
return 0;
}
không vẽ được đường thẳng chỉ hiện ra màn hình trắng
Đây là kết quả
http://i6.upanh.com/2013/0913/09/57478704.untitled.120x1.jpg
Chào bạn, không hiểu sao code của bạn mình chạy ngon lành. Bạn nhớ include các header file theo thứ tức glut.h > gl.h > glu.h
ReplyDeletelink ảnh: http://i.imgur.com/gVpBFrc.png
anh ơi! cho em hỏi muốn cài để viết chương trình Android thông qua Eclipse thì cài OpenGL này thế nào vậy anh?
ReplyDeleteChào bạn, mình sẽ sớm post bài hướng dẫn về chủ đề bạn đề cập :)
ReplyDeletebạn có thển dùng teamviea cài cho mình đc k? :))
ReplyDeleteBạn cứ nêu vấn đề, mình sẽ thử post solution xem :)
ReplyDeleteban co te chj cho mjh bk ro cach cai opengl 3.0 dc o
ReplyDelete