用UBuntu开发OpenGL程序3

glutInit函数:

首先是main函数的命令行参数要传递给glutInit函数。该函数的作用是初始化glut库。http://www.opengl.org/documentation/specs/glut/spec3/node10.html
如果传递给main的参数内有下列参数,将被glutInit抽取出来作为初始化glut库试用。当glutInit函数返回的时候,这些参数将从argcp指针中删除。
-display DISPLAY
-geometry W x H + X + Y
-iconic
-indirect
-direct
-gldebug
-sync

如果glutInit函数失败,将导致程序结束。
环境变量DISPLAY用来设置将图形显示到何处,格式为:host:NumA.NumB

直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0。此时Host为空, 则表示Xserver运行于本机, 并且图形程序(Xclient)使用unix socket方式连接到Xserver, 而不是TCP方式.

NumA的值:
使用TCP方式连接时, NumA为连接的端口减去6000的值, 如果NumA为0, 则表示连接到6000端口;
使用unix socket方式连接时则表示连接的unix socket的路径, 如果为0, 则表示连接到/tmp/.X11-unix/X0 .

NumB则几乎总是0.

可以通过下面的命令查看环境变量DISPLAY
chenshu@chenshu-desktop:~$ env | grep DISPLAY
DISPLAY=:0.0


传参的格式如下:(注意-display后面有空格)
-display :0.0

这样传递进来的参数是3个,等到glutInit函数返回后,参数变成了1个。-display :0.0 两个参数被去掉了。

-geometry用来确定窗口位置,作用和glutInitWindowSize或者glutInitWindowPosition一样。


其它参数以后再介绍

你可能感兴趣的:(ubuntu)