mac vulkan_Mac OSX系统下使用OpenGL
在osx中,OpenGL庫在系統中已經自帶了,要想查看當前系統中的OpenGL庫的版本,可以在App Store中安裝OpenGL Extensions Viewer
安裝第三方包
依賴工具:homebrew,cmake。
這兩個工具的具體安裝方式網上有很多,google一下很容易找到。GLFW
GLFW是一個小型的C庫,它可以讓你創建和管理窗口、OpenGL和OpenGL ES上下文和Vulkan表面,枚舉顯示器和視頻模式,以及處理鍵盤、鼠標、操縱桿、剪貼板和時間等輸入。
GLFW主要針對那些唯一的圖形輸出是通過OpenGL、OpenGL ES或Vulkan的應用程序,提供了一個簡單的、多平臺的抽象層。因此GLFW在開發多平臺OpenGL應用時非常有用,但單平臺開發者也可以從避免處理笨拙的平臺特定API中獲益。
像GLFW這樣的庫非常有用,因為OpenGL和OpenGL ES本身并沒有提供任何機制來創建必要的上下文、管理窗口、用戶輸入、定時等。正如OpenGL 3.1規范(第2章,第1段)所述。OpenGL只涉及渲染到幀緩沖區(以及讀取存儲在該幀緩沖區中的值)。不支持有時與圖形硬件相關的其他外設,如鼠標和鍵盤。程序員必須依靠其他機制來獲取用戶輸入。
安裝命令:
bash brew install glfw3GLEW
OpenGL Extension Wrangler Library(GLEW)是一個跨平臺的開源C/C++擴展加載庫。GLEW提供了高效的運行時機制,用于確定目標平臺上支持哪些OpenGL擴展。OpenGL核心和擴展功能在一個頭文件中暴露出來。GLEW已經在各種操作系統上進行了測試,包括Windows、Linux、Mac OS X、FreeBSD、Irix和Solaris。
安裝命令:
bash brew install glew
上面是用包管理器來安裝。需要依賴工具homebrew和編譯工具cmake,如果沒有安裝這兩個工具,可以google一下安裝方式來安裝一下。
第一個Hello World
網上很多教程到這里后,就會教你配置vs studio或者xcode,由于我本人的習慣問題,很少使用這些ide,所以這里我還是基于cmake編譯工具來寫第一個hello world程序。主要目的是熟悉配置include和lib目錄。
新建一個文件夾,比如叫test_opengl,目錄中新建一個main.cpp,添加如下代碼:
#include #include #include int main(void)
{
GLFWwindow* window;
/* Initialize the library */
if (!glfwInit())
return -1;
/* Create a windowed mode window and its OpenGL context */
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
/* Make the window's context current */
glfwMakeContextCurrent(window);
/* Loop until the user closes the window */
while (!glfwWindowShouldClose(window))
{
/* Render here */
/* Swap front and back buffers */
glfwSwapBuffers(window);
/* Poll for and process events */
glfwPollEvents();
}
glfwTerminate();
return 0;
}
保存后,在新建一個CMakeLists.txt文件。這個文件是cmake使用的,用于指定編譯時的目錄、鏈接的庫、以及編譯選項等。對于本項目,添加簡單的如下內容:
cmake_minimum_required(VERSION 2.8)
project(test_opengl)
set(CMAKE_VERBOSE_MAKEFILE OFF)
# glfw和glew的頭文件目錄,這是我的路徑,你可以換成你自己的
include_directories(/usr/local/include)
aux_source_directory("./" SRCS)
set(CMAKE_CXX_FLAGS "-g -std=c++11 -Wformat")
# glew的庫目錄路徑
link_directories(/usr/local/Cellar/glew/2.1.0/lib)
# glfw的庫目錄路徑
link_directories(/usr/local/Cellar/glfw/3.3/lib)
add_executable(test_opengl ${SRCS} ${HDRS})
# 指定glew庫
target_link_libraries(test_opengl GLEW)
# 指定glfw庫
target_link_libraries(test_opengl GLFW)
編寫完之后,在main.cpp同級目錄下建立一個build目錄,然后
cd build
cmake ..
make
然后測試是否能編譯成功。如果編譯成功,會出現一個test_opengl 可執行程序,然后運行:
./test_opengl
這時會看到一個hello world的窗口。
至此,你已經利用OpenGL編寫了第一個程序。恭喜,你已經入門了。
總結
以上是生活随笔為你收集整理的mac vulkan_Mac OSX系统下使用OpenGL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdfs 版本号_如何查看hadoop版
- 下一篇: java信息管理系统总结_java实现科