美文网首页
OpenGL环境搭建及测试

OpenGL环境搭建及测试

作者: Caiaolun | 来源:发表于2020-03-07 01:33 被阅读0次

    sudo apt-get update
    sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev


    run.sh

    #!/bin/bash
    rm -rf ./build/*
    rm -rf ./bin/*
    cd ./build
    cmake .. && make -j4
    

    CMakeLists.txt

    #井好表示注释
    CMAKE_MINIMUM_REQUIRED( VERSION 3.5 ) #设定最小版本号
    PROJECT(openglTest)                       #设定工程名
    
    SET(CMAKE_CXX_COMPILER "g++")         #设置编译器(可选的有gcc,g++)
    
    # 设置用debug还是release模式。debug允许断点,而release更快
    #set( CMAKE_BUILD_TYPE Debug )
    set( CMAKE_BUILD_TYPE Release )
    
    # 设置编译选项
    # 允许c++11标准、O3优化、多线程。match选项可避免一些cpu上的问题
    set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -march=native -O3 -pthread" )
    
    #设定可执行二进制文件的目录
    SET( EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 
    
    #设定存放编译出来的库文件的目录
    SET( LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 
    
    #并且把该目录设为连接目录
    LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib)
    #
    find_package (Threads REQUIRED)
    #设定头文件目录
    INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include)
    
    
    link_libraries(GL
                GLU
                glut)
    
    set(SOURCE_FILES 
            src/main.cpp)
            
    add_executable(openglTest ${SOURCE_FILES})
    

    main.cpp

    #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);
    
        return;
    }
    
    void display(void)
    {
        glClear(GL_COLOR_BUFFER_BIT);
        glColor3f(1.0, 0, 0);
        glutWireTeapot(3);
        glFlush();
    
        return;
    }
    
    int main(int argc, char *argv[])
    {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
        glutInitWindowPosition(0, 0);
        glutInitWindowSize(300, 300);
        glutCreateWindow("OpenGL 3D View");
        init();
        glutDisplayFunc(display);
        glutMainLoop();
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:OpenGL环境搭建及测试

          本文链接:https://www.haomeiwen.com/subject/jpitdhtx.html