linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 软件开发 >
栏目导栏
资料搜索
热门文章
·Linux 下 C 语言编程
·Linux下的通用线程池创建
·C++字符串转换篇
·linux C 进程操作篇
·linux上的C/C++编译器gcc/egcs
·linux C 文件权限控制篇
·GCC使用手册
·linux C 接口处理篇
·在Redhat Linux上安装 GCC 编译
·GCC使用指南
·C语言运算符
·Linux下C开发环境的构成和安装
·fopen()函数的参数说明
·GCC使用手册与常用命令
·Scheme 语言介绍
最新文章
·在Ubuntu Linux 8.04上构建GCC
·Linux操作系统下Socket编程地址
·将VC程序移植到Linux系统的几点
·Linux下malloc/free与new/dele
·Linux下用GTK和socket实现简单
·Linux操作系统下让Tomcat启动在
·Linux操作系统中如何编译C程序
·几种常被人们忽略的Linux系统下
·Eclipse编程工具 在Ubuntu下的
·Linux操作系统下的网络地址转换
·老手经验谈:Linux驱动程序开发
·Linux操作系统多线程同步Mutex
·Linux操作系统下C程序语言简易
·Linux系统平台下关于GCC编译及
·解决Linux系统下管道被接受方关
Google
 
Linux下设置openGL编程环境
[ 作者:  加入时间:2007-09-19 11:13:24  来自:Linux联盟收集整理 ]
先装个freeglut或者mesa。UqBLinux联盟
以freeglut举例,装好后会在/usr/include/GL中出现glut.h,在/usr/lib下出现libglut.so,如果没有就自己拷一下。UqBLinux联盟
然后写个测试程序,如test.c,用以下命令编译:UqBLinux联盟
gcc -lglut test.c -o testUqBLinux联盟
生成可执行文件test,然后:UqBLinux联盟
./testUqBLinux联盟
看到方框说明安装成功:)UqBLinux联盟
UqBLinux联盟
如手上没有现成的测试例子,附件是openGL红宝书的第一个例子hello.cUqBLinux联盟
UqBLinux联盟

#include <GL/glut.h>UqBLinux联盟
UqBLinux联盟
void display(void)UqBLinux联盟
{UqBLinux联盟
/* clear all pixels */UqBLinux联盟
   glClear (GL_COLOR_BUFFER_BIT);UqBLinux联盟
UqBLinux联盟
/* draw white polygon (rectangle) with corners atUqBLinux联盟
 * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) UqBLinux联盟
 */
UqBLinux联盟
   glColor3f (1.0, 1.0, 1.0);UqBLinux联盟
   glBegin(GL_POLYGON);UqBLinux联盟
      glVertex3f (0.25, 0.25, 0.0);UqBLinux联盟
      glVertex3f (0.75, 0.25, 0.0);UqBLinux联盟
      glVertex3f (0.75, 0.75, 0.0);UqBLinux联盟
      glVertex3f (0.25, 0.75, 0.0);UqBLinux联盟
   glEnd();UqBLinux联盟
UqBLinux联盟
/* don't wait! UqBLinux联盟
 * start processing buffered OpenGL routines UqBLinux联盟
 */
UqBLinux联盟
   glFlush ();UqBLinux联盟
}UqBLinux联盟
UqBLinux联盟
void init (void) UqBLinux联盟
{UqBLinux联盟
/* select clearing color     */UqBLinux联盟
   glClearColor (0.0, 0.0, 0.0, 0.0);UqBLinux联盟
UqBLinux联盟
/* initialize viewing values */UqBLinux联盟
   glMatrixMode(GL_PROJECTION);UqBLinux联盟
   glLoadIdentity();UqBLinux联盟
   glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);UqBLinux联盟
}UqBLinux联盟
UqBLinux联盟
/* UqBLinux联盟
 * Declare initial window size, position, and display modeUqBLinux联盟
 * (single buffer and RGBA). Open window with "hello"UqBLinux联盟
 * in its title bar. Call initialization routines.UqBLinux联盟
 * Register callback function to display graphics.UqBLinux联盟
 * Enter main loop and process events.UqBLinux联盟
 */
UqBLinux联盟
int main(int argc, char** argv)UqBLinux联盟
{UqBLinux联盟
   glutInit(&argc, argv);UqBLinux联盟
   glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);UqBLinux联盟
   glutInitWindowSize (250, 250); UqBLinux联盟
   glutInitWindowPosition (100, 100);UqBLinux联盟
   glutCreateWindow ("hello");UqBLinux联盟
   init ();UqBLinux联盟
   glutDisplayFunc(display); UqBLinux联盟
   glutMainLoop();UqBLinux联盟
   return 0; /* ANSI C requires main to return int. */UqBLinux联盟
}
UqBLinux联盟

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Linux操作系统远程图形化管理的几种途径  (2007-09-19 11:07:09)
 ·ATI显卡的机器上安装Linux花屏解决办法  (2007-09-19 11:05:36)
 ·Linux用户无法使用苹果的新款iPod播放机  (2007-09-19 11:04:44)
 ·linux下怎样刻录CD  (2007-09-18 11:24:21)
 ·惠普加快Linux推广  (2007-09-18 11:19:28)
 ·Ubuntu Linux 8.04 LTS将为长期支持版本  (2007-09-18 11:03:43)
 ·Linux操作系统引导记录的备份与恢复方法  (2007-09-18 11:02:26)
 ·Linux操作系统口令文件安全问题详细解析  (2007-09-18 10:59:19)
 ·Linux 有关运行中的进程的信息  (2007-09-17 16:18:40)
 ·探索linux系统中限制对目录作硬连接的原因  (2007-09-17 16:12:53)