红联Linux门户
Linux帮助

到底如何opengl?

发布时间:2009-12-08 10:41:05来源:红联作者:523066680
我是在ubuntu9.10环境下的
opengl才刚刚入门呢,到网上找了各种实现opengl编程的实例
都试过了一遍,就是没有成功编出个成品出来。:0w223dc
大家有啥成功的实例没,都教下我(6)m:b
文章评论

共有 12 条评论

  1. 523066680 于 2009-12-10 18:44:09发表:

    对了,问题还没解决呢
    运行的时候自动就全屏了,一片黑暗,鼠标点了一下能看到效果
    你们运行的情况呢?

  2. linuxpy 于 2009-12-09 10:43:54发表:

    不懂

  3. alick 于 2009-12-08 23:40:55发表:

    windows下的ide编译是简单(一个快捷键就成),可是代价是你不能对编译器做任何设置-你可能就不会理解什么是编译

  4. 523066680 于 2009-12-08 22:38:30发表:

    不好意思,像灌水一样,找到了,在usr/lib里面的 libglut.so
    然后从教程的这句话得到提示:
    sin 在 libm-2.1.2.so 库里面,我用 -lm
    选项就可以了(去掉前面的 lib 和后面的版本标志,就剩下 m 了所以是 -lm).


    编译出来的一开始是全屏黑色的问题还没解决,期待~

  5. 523066680 于 2009-12-08 22:33:49发表:

    我还想问个问题,为什么是 -lglut ? (这是我从别人那个编译代码中一个个参数减去的最终结果

    这个为什么刚好是glut? 假如是名称的话 -lmath的时候却不行?)

  6. 523066680 于 2009-12-08 22:22:35发表:

    [i=s] 本帖最后由 523066680 于 2009-12-8 22:24 编辑 [/i]

    弄成了,有个问题,怎么一弄出来就全屏纳。还是黑的,要鼠标点一下,才能考到缩小后的效果[code]
    #include
    #define xpix 500

    void init(void)
    {
    glClearColor(0.0,0.0,0.0,0.0);
    }

    void display(void)
    {
    glClear(GL_COLOR_BUFFER_BIT);
    glPointSize(20);
    glBegin(GL_POINTS);
    glVertex2f(0.0,0.0);
    glEnd();
    glFlush();
    }

    int main(int argc,char *argv[])
    {
    glutInit(&argc,argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowSize(xpix,xpix);
    glutInitWindowPosition(0,0);
    glutCreateWindow("haha");
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
    }
    [/code]编译语句:
    gcc -o a a.c -lglut

  7. 523066680 于 2009-12-08 20:44:50发表:

    g++ opgl.cc -o out.o -lglut -lGL -lGLU -lm -L/usr/X11R6/lib
    从这句话可以看出来,想在linux下顺畅编程。至少应该对工作目录有足够的了解,
    而我,现在感觉自己真菜……

  8. 523066680 于 2009-12-08 20:09:37发表:

    [i=s] 本帖最后由 523066680 于 2009-12-8 20:46 编辑 [/i]

    额 ,谭浩强那本只看了语法,如何编译倒是没学到(现在win下那些工具太直接了,直接编译运行,哪里用你管链接库
    搞的我连后台怎么操作都不知道)

    网上搜了一个 g++编译的,我直接复制了一个glut的代码,然后用那句g++编译成功了
    实例链接:
    http://hzy5000.blog.163.com/blog/static/7459645200710423720197/

  9. alick 于 2009-12-08 18:26:20发表:

    第一个是缺少libXxf86vm的dev开发包(头文件包)。
    第二个不是很清楚,那些glut函数是你自定义的还是语言本身有的?

    感觉有C作基础是很应该的

  10. 523066680 于 2009-12-08 13:44:07发表:

    可能还是基础不够,我想还是先学学linux下的c语言编程吧。

  11. 523066680 于 2009-12-08 13:41:37发表:

    [i=s] 本帖最后由 523066680 于 2009-12-8 13:43 编辑 [/i]

    使用code::blocks 可以直接选择类型,我选opengl project的时候,他直接就给了一个实例
    编译成功

    但是选glut project的时候 里面的main.cpp也是已经写好实例了的,
    编译提示: cannot find - lXxf86vm

    ---------------------------------------------------------------------------
    然后是anjuta的话 ,我是这样选的:新建-项目-通用C++ 然后复制里一段glut库的代码。
    编译说成功了,但是运行就不成功
    可能是这句的问题把
    错误提示:
    libtool: link: g++ -g -O0 -o foobar_cpp main.o
    接着下面全都是说: undefined reference to "glut函数名"
    不会整

  12. alick 于 2009-12-08 12:42:17发表:

    都出了什么错误?