Ubuntu14.04下配置OpenGL及测试代码
生活随笔
收集整理的這篇文章主要介紹了
Ubuntu14.04下配置OpenGL及测试代码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
????????ubuntu14.04 64位下,默認(rèn)是沒有安裝OpenGL相關(guān)依賴庫的,若安裝,則依次執(zhí)行如下幾條命令即可:
$ sudo apt-get update
$ sudo apt-get install build-essential
$ sudo apt-get install libgl1-mesa-dev
$ sudo apt-get install libglu1-mesa-dev
$ sudo apt-get install freeglut3-dev
????? ? 以下是驗證其正確性的測試代碼:
#include <iostream>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glut.h>namespace {void Init(void)
{glClearColor(1.0, 0.0, 1.0, 0.0);//設(shè)置背景顏色為洋紅glColor3f(0.0f, 1.0f, 0.0f);//設(shè)置繪圖顏色為綠色glPointSize(4.0);//設(shè)置點的大小為4*4像素glMatrixMode(GL_PROJECTION);//設(shè)置合適的矩陣glLoadIdentity();gluOrtho2D(0.0, 640.0, 0.0, 480.0);
}void Display(void)
{glClear(GL_COLOR_BUFFER_BIT);//清屏glBegin(GL_POINTS);glVertex2i(289, 190);glVertex2i(320, 128);glVertex2i(239, 67);glVertex2i(194, 101);glVertex2i(129, 83);glVertex2i(75, 73);glVertex2i(74, 74);glVertex2i(20, 10);glEnd();glFlush();
}} // namespaceint main(int argc, char* argv[])
{glutInit(&argc, argv);//初始化工具包glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//設(shè)置顯示模式glutInitWindowSize(640, 480);//設(shè)置窗口大小glutInitWindowPosition(100, 150);//設(shè)置屏幕上窗口位置glutCreateWindow("my first attempt");//打開帶標(biāo)題的窗口glutDisplayFunc(&Display);//注冊重畫回調(diào)函數(shù)Init();glutMainLoop();//進(jìn)入循環(huán)return 0;
}
????? ? CMakeLists.txt文件的內(nèi)容如下:
PROJECT(multi_executable_file)
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)# 查找OpenCV
FIND_PACKAGE(OpenCV REQUIRED)
IF(OpenCV_FOUND)MESSAGE("===== support OpenCV =====")MESSAGE(STATUS "OpenCV library status:")MESSAGE(STATUS " version: ${OpenCV_VERSION}")MESSAGE(STATUS " include path: ${OpenCV_INCLUDE_DIRS}")MESSAGE(STATUS " install path: ${OpenCV_INSTALL_PATH}")MESSAGE(STATUS " libraries: ${OpenCV_LIBS}")INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
ELSE()MESSAGE("##### not support OpenCV #####")
ENDIF()# 查找OpenMP
FIND_PACKAGE(OpenMP REQUIRED)
IF(OpenMP_FOUND)MESSAGE("===== support OpenMP =====")MESSAGE(STATUS "OpenMP library status:")MESSAGE(STATUS " version: ${OpenMP_VERSION}")set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
ELSE()MESSAGE("##### not support OpenMP #####")
ENDIF()# 查找OpenGL
FIND_PACKAGE(OpenGL REQUIRED)
IF(OPENGL_FOUND)MESSAGE("===== support OpenGL =====")MESSAGE(STATUS "OpenGL library status:")MESSAGE(STATUS " include path: ${OPENGL_INCLUDE_DIR}")MESSAGE(STATUS " libraries: ${OPENGL_LIBRARIES}")INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
ELSE()MESSAGE("##### not support OpenGL #####")
ENDIF()# 查找GLUT
FIND_PACKAGE(GLUT REQUIRED)
IF(GLUT_FOUND)MESSAGE("===== support GLUT =====")MESSAGE(STATUS " include path: ${GLUT_INCLUDE_DIR}")MESSAGE(STATUS " libraries: ${GLUT_LIBRARIES}")INCLUDE_DIRECTORIES(${GLUT_INCLUDE_DIR})
ELSE()MESSAGE("##### not support GLUT #####")
ENDIF()# 支持C++11
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -O2 -std=c11")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -O2 -std=c++11")INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})FILE(GLOB samples ${PROJECT_SOURCE_DIR}/*.cpp)FOREACH (sample ${samples})STRING(REGEX MATCH "[^/]+$" sample_file ${sample})STRING(REPLACE ".cpp" "" sample_basename ${sample_file})ADD_EXECUTABLE(test_${sample_basename} ${sample})TARGET_LINK_LIBRARIES(test_${sample_basename} ${OpenCV_LIBS} ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} pthread)
ENDFOREACH()
????? ? build.sh腳本內(nèi)容如下:
#! /bin/bashecho "Note: new create build directory, and executable file in build"
echo ${PWD}
mkdir -p build
cd build
cmake ..
make
????? ? 進(jìn)入到multi_executable_file目錄后,執(zhí)行:$ ./build.sh, 會自動生成build目錄,并編譯當(dāng)前的.cpp文件,最終針對每個.cpp文件均會生成對應(yīng)的執(zhí)行文件,然后進(jìn)入到build目錄下,執(zhí)行所需的執(zhí)行文件即可。
????? ? 執(zhí)行結(jié)果如下:
????? ? GitHub:?https://github.com/fengbingchun/Linux_Code_Test?
總結(jié)
以上是生活随笔為你收集整理的Ubuntu14.04下配置OpenGL及测试代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows下通过Python 3.x
- 下一篇: Linux下遍历指定目录的C++实现