I have one question about opengl

Discussion in 'UDOO NEO' started by David wang, Jan 13, 2016.

  1. David wang

    David wang New Member

    Joined:
    Dec 1, 2015
    Messages:
    29
    Likes Received:
    8
    Firstly, I installed three lib of opengl as follow,
    • sudo apt-get install freeglut3_dev
    • sudo apt-get install libxi-dev
    • sudo apt-get install libxmu-dev
    Then I created one simple c code
    Code:
    #include <GL/glut.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    
    void init(void)
    {
        GLfloat mat_specular[]={1.0,1.0,1.0,1.0};
        GLfloat mat_shininess[]={50.0};
        GLfloat light_position[]={1.0,1.0,1.0,1.0};
    
        glClearColor(0.0,0.0,0.0,0.0);
        glShadeModel(GL_SMOOTH);
       
        glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
        glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
        glLightfv(GL_LIGHT0,GL_POSITION,light_position);
    
        glEnable(GL_LIGHTING);
        glEnable(GL_LIGHT0);
        glEnable(GL_DEPTH_TEST);
    
    }
    void display(void)
    {
        glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
        glutSolidSphere(1.0,40,50);
        glFlush();
    }
    void reshape(int w,int h)
    {
        glViewport(0,0,(GLsizei)w,(GLsizei)h);
        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        if(w<=h)
            glOrtho(-1.5,1.5,-1.5*(GLfloat)h/(GLfloat)w,1.5*(GLfloat)h/(GLfloat)w,-10.0,10.0);
        else
            glOrtho(-1.5*(GLfloat)h/(GLfloat)w,1.5*(GLfloat)h/(GLfloat)w,-1.5,1.5,-10.0,10.0);
    
        glMatrixMode(GL_MODELVIEW);
        glLoadIdentity();
       
    }
    void keyboard(unsigned char key,int x,int y)
    {
        switch(key)
        {
            case 27:
                exit(0);
                break;
        }
    }
    void main(int argc,char ** argv)
    {
        printf("Compiled: "__DATE__" at "__TIME__"\n");
        glutInit(&argc,argv);
        glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
        glutInitWindowSize(300,300);
        glutInitWindowPosition(100,100);
        glutCreateWindow(argv[0]);
        init();
        glutDisplayFunc(display);
        glutReshapeFunc(reshape);
        glutKeyboardFunc(keyboard);
        glutMainLoop();
       
    }
    and, I compiled it via gcc ,
    sudo gcc light.c -o light -lGL -lglut
    The udoo system cannot work as well as the other real ubuntu sytem, can you tell me?
     
  2. David wang

    David wang New Member

    Joined:
    Dec 1, 2015
    Messages:
    29
    Likes Received:
    8
    Please reference the attached file when I run the code on ubuntu system.
    Thanks!
     

    Attached Files:

  3. Francesco

    Francesco Active Member

    Joined:
    Jun 23, 2015
    Messages:
    220
    Likes Received:
    110
    UDOO (like most other embedded systems) supports only OpenGL ES 2/3, a subset of OpenGL.
    The headers can be installed from the imx-gpu-viv-9t6-dev package.
     
  4. David wang

    David wang New Member

    Joined:
    Dec 1, 2015
    Messages:
    29
    Likes Received:
    8
    ok, I have install the package already now. If I use it , can you show one example code for draw on opengl es!
    Thanks!
     
  5. Francesco

    Francesco Active Member

    Joined:
    Jun 23, 2015
    Messages:
    220
    Likes Received:
    110
    I'm sorry, I have never written OpenGL code.
    You can try to search on google "linux opengl example". You can start from here.
     

Share This Page