1. 前言
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。
2. 安装OpenGL
sudo apt-get update
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev
上面依次安装了3个常用的OpenGL开发包,3个包的关系可以简单的总结为:后一个包是对前一个包的封装,逐层递进,目的是为了方便用户开发。
3. 检验OpenGL开发包是否安装成功
可通过命令
dpkg -L libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev
来查看包安装之后的情况:头文件、库文件等的情况,当然也可以直接查看相应目录。
如果对系统所有已安装包或可安装、可获得包不了解的情况下,可以通过:
apt-cache search <包名字串>
dpkg -l <包名字串>
等相似功能命令来查看。更多关于Ubuntu包管理系统的man手册。
4. OpenGL的测试代码
/*
* GLTeapot.c
*
* 代码来源于网络。
*/
#include <GL/glut.h>
void init(void)
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glOrtho(-5, 5, -5, 5, 5, 15);
glMatrixMode(GL_MODELVIEW);
gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 0, 0);
glutWireTeapot(3);
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(300, 300);
glutCreateWindow("OpenGL 3D View(Teapot)");
init();
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
编译:
gcc -o GLTeapot GLTeapot.c -lGL -lGLU -lglut
运行效果如下图:
5. 后记
本篇从我的51CTO博客(原地址)移过来的。