一文详解Mac搭建Vulkan开发环境

这篇具有很好参考价值的文章主要介绍了一文详解Mac搭建Vulkan开发环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文为Vukan系列的第二篇文章上一篇文章对Vulkan进行了简单介绍,并对其与OpenGL的优劣势进行了比较,为应用开发人员在选择图形API方面提供了建议。下边开始本文的主要内容,详细介绍在Mac操作系统中,如何搭建Vulkan开发环境

Vulkan是一种基于命令缓冲区的底层图形API接口,能够更好地利用现代GPU的强大计算能力,从而获得更高的渲染性能和更低的CPU开销。与OpenGL相比,Vulkan提供了更详细的硬件控制更高效的内存管理更灵活的管线状态管理多线程支持等优势。
同时,Vulkan也存在一些挑战,包括学习曲线较陡峭编程难度较大等。在应用开发时,开发人员需要根据实际需求和平台支持情况来选择合适的图形API接口。

一、下载Vulkan SDK

到 Vulkan 官方下载对应平台的 Vulkan SDK:

// Vulkan官网下载对应平台的sdk  
https://vulkan.lunarg.com/sdk/home

一文详解Mac搭建Vulkan开发环境

安装Vulkan SDK后,可以跑一下VulkanSDK/1.3.250.0/Applications目录下的vkcube,如果显示如下运行界面,说明你的电脑是支持Vulkan的。
一文详解Mac搭建Vulkan开发环境

二、安装GLFW与GLM

Vulkan是平台无关的应用程序图形API接口,创建本地窗口的能力依赖GLFW与GLM的支持。

  • GLFW (Graphics Library Framework):
    最初用于创建OpenGL窗口和上下文的开源库,它提供了一套跨平台的API,能够方便地创建OpenGL窗口、处理输入事件、处理窗口事件等。
    GLFW为Vulkan提供了一组扩展,使得开发人员能够更轻松地创建Vulkan窗口和上下文,并处理窗口和输入事件等。
  • GLM (OpenGL Mathematics):
    GLM是一个用于数学计算的开源库,它提供了一组类和函数,用于实现矩阵变换、向量计算、投影等数学操作。
    GLM与Vulkan密切相关,在进行Vulkan开发时时,GLM为开发人员提供矩阵变换、向量计算等数学操作来控制渲染管线使得开发人员能够更方便地进行三维图形编程。
// 通过homebrew进行glfw与glm
brew install glfw3
brew install glm

三、配置 Xcode

现在依赖项已经安装完毕,下边可以开始配置一个基本的 Xcode Vulkan 项目。

3.1 新建Xcode项目

启动 Xcode 并新建项目,选择 Application > Command Line Tool 项目类型:
一文详解Mac搭建Vulkan开发环境
选择 C++ 作为项目使用的语言:
一文详解Mac搭建Vulkan开发环境

3.2 配置头文件与库文件

打开 Build Settings 标签页,配置Vulkan、glfw和glm的头文件lib文件search path

  • /usr/local/include加入 Header Search Paths,这是 Homebrew 安装头文件的路径,我们安装的 glm 和 glfw3 的头文件都在该文件夹下。
  • vulkansdk/macOS/include加入 Header Search Paths,这是Vulkan SDK安装目录头文件路径。

一文详解Mac搭建Vulkan开发环境

  • /usr/local/lib加入 Library Search Paths,这是 Homebrew 安装库文件的路径,我们安装的 glm 和 glfw3 的库文件都在该文件夹下。
  • vulkansdk/macOS/lib加入 Library Search Paths,这是 Vulkan SDK安装目录库文件路径。一文详解Mac搭建Vulkan开发环境

3.3 添加动态库

点击 Build Phases 标签页,添加 glfw3 和 vulkan 框架动态库。

  • 对于 glfw,打开/usr/local/lib目录,可以找到类似 libglfw.3.x.dylib形式的文件。将这个文件拖拽Linked Frameworks and Libraries 标签下;
  • 对于 Vulkan,打开vulkansdk/macOS/lib 目录,拖拽 libvulkan.1.dyliblibvulkan.1.x.xx.dylib到 Linked Frameworks and Libraries 标签下;

完成上面的操作后,更改Copy Files标签:

  • 将Destination 设置为 Frameworks;
  • 清空 Subpath 文本框;
  • 不要勾选 Copy only when installing;
  • 然后点击 + 号,将所有三个动态库添加进去。

一文详解Mac搭建Vulkan开发环境

3.4 配置环境变量

在 Xcode 的工具栏上通过 Product>Scheme>Edit Scheme... 打开 Arguments 标签页,添加下面的环境变量:

VK_LAYER_PATH = /Users/xiaxl/VulkanSDK/1.3.250.0/macOS/share/vulkan/explicit_layer.d
VK_ICD_FILENAMES = /Users/xiaxl/VulkanSDK/1.3.250.0/macOS/share/vulkan/icd.d/MoltenVK_icd.json

一文详解Mac搭建Vulkan开发环境

四、测试

至此为止,已经完成了全部配置。可以通过运行如下代码测试环境配置是否正常。

#define GLFW_INCLUDE_VULKAN
#include <GLFW/glfw3.h>
#define GLM_FORCE_RADIANS
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
#include <glm/vec4.hpp>
#include <glm/mat4x4.hpp>
#include <iostream>
 
int main() {
    // 初始化GLFW库
    glfwInit();
    // GLFW最早是为OpenGL设计
    // 所以此处需要显式的设置GLFW阻止自动创建OpenGL上下文
    glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
    // 创建窗口
    GLFWwindow* window = glfwCreateWindow(800, 600, "Vulkan window", nullptr, nullptr);
    // 查询本机支持的扩展属性
    uint32_t extensionCount = 0;
    vkEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);
    std::cout << extensionCount << " extensions supportedn";
 
    // 测试glm
    glm::mat4 matrix;
    glm::vec4 vec;
    auto test = matrix * vec;
    // 未主动close时持续消费点击event
    while(!glfwWindowShouldClose(window)) {
        glfwPollEvents();
    }
    // 销毁window
    glfwDestroyWindow(window);
    glfwTerminate();
    
    return 0;
}

运行效果如下:
一文详解Mac搭建Vulkan开发环境

参考

vulkan官方:
https://registry.khronos.org/vulkan/

Vulkan SDK下载:
https://vulkan.lunarg.com/sdk/home

Khronos: Vulkan-Samples
https://github.com/KhronosGroup/Vulkan-Samples/

Khronos: Vulkan规范
https://github.com/KhronosGroup/Vulkan-Guide/blob/main/chapters/vulkan_spec.adoc

Khronos: Vulkan 1.3
https://registry.khronos.org/vulkan/specs/1.3/html/vkspec.html

Khronos: what_is_vulkan
https://github.com/KhronosGroup/Vulkan-Guide/blob/main/chapters/what_is_vulkan.adoc

= THE END =

文章首发于公众号”CODING技术小馆“,如果文章对您有帮助,欢迎关注我的公众号。文章来源地址https://www.toymoban.com/news/detail-512163.html

到了这里,关于一文详解Mac搭建Vulkan开发环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac 下 Arduino 开发环境搭建

    本人初入 Arduino 坑,笔记本搭载 Intel 芯片,系统版本为 macOS Monterey 12.4,开发板为 Arduino Mega 2560,通过本篇博客简单记录一下开发环境的搭建过程。 要让电脑能够识别开发板,需要先根据个人开发需要查找相应驱动版本进行安装。 本人的开发环境需要 CH340G 驱动,而因为 m

    2024年02月08日
    浏览(35)
  • Android开发-Mac Android开发环境搭建(Android Studio Mac环境详细安装教程,适合新手)...

    1.进入Android Studio官网 https://developer.android.google.cn/studio 2.点击下载Android Studio.  3.将说明拉到最下方,选择Mac With Apple Chip.苹果芯片选择Apple Chip,如果是Intel芯片可以选择Intel.  4.下载完成后,双击进入Android Studio.  点击打开.  5.如果是第一次安装,则直接选择不要导入设置.点击ok

    2024年02月04日
    浏览(30)
  • java后端开发环境搭建 mac

    在mac pro上搭建一套java 后端开发环境,主要安装的内容有:jdk、maven、git、tomcat、mysql、navicat、IntelliJ、redis。 本人mac pro的系统为mac OS Monterey 12.6.7,主机的硬件架构为x86_64。 左上角关于本机查看系统版本;终端上输入 查看机器架构: 下载官网:Java Downloads | Oracle 中国 安装步

    2024年02月15日
    浏览(31)
  • 【Node.js】一文带你开发博客项目之接口(处理请求、搭建开发环境、开发路由)

    个人简介 👀 个人主页: 前端杂货铺 🙋‍♂️ 学习方向: 主攻前端方向,也会涉及到服务端 📃 个人状态: 在校大学生一枚,已拿 offer(秋招) 🥇 推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2Vue3项目实战 🥝Node.js 内容 参考链接 Node.js(一) 初识 Node.js DNS 解析,建

    2023年04月21日
    浏览(42)
  • mac pro java后端开发环境搭建

        从零开始,在mac pro上搭建一套java 后端开发环境,主要安装的内容有:jdk、maven、git、tomcat、mysql、navicat、IntelliJ、redis。     因为网上有很多很详细的教程,这里主要记录大概的安装过程和本人在安装过程中遇到的问题以及解决办法。     本人mac pro的系统为mac OS

    2024年02月11日
    浏览(27)
  • mac电脑m1搭建java开发环境参考手册

    开发人员经常会换电脑,或者换新电脑,意味着重新搭建开发环境,很麻烦。但新电脑到手里面了,不换又不好,此篇专门用来记录mac电脑m1搭建java开发环境的步骤。希望对读者有所帮助,一条龙服务。 后期有时间,会出关于win10环境的,目前介绍mac环境。 M1版MacBook安装Ar

    2024年02月09日
    浏览(38)
  • Mac电脑 Vscode : Flutter 开发环境搭建(最细节教程)

    参考链接: Mac+VSCode安装flutter环境_mac vscode配置flutter_GalenWu的博客-CSDN博客 mac搭建Flutter环境以及初始化项目 - 简书 注意: *下载xcode 就包含git了, *苹果芯片和intel 芯片需要的环境不同,苹果芯片需要安装: Important:  If you’re installing on an Apple Silicon Mac, you must have the Rosetta t

    2024年02月05日
    浏览(33)
  • 【Mac开发环境搭建】JDK安装、多JDK安装与切换

    Oracle官网提供了非常多个版本的JDK供下载,可以点击如下链接重定向到JDK下载页面 ORACLE官网JDK下载 下面的官方文档可以点开收藏到浏览器的收藏夹,这样后续在开发的过程中方便寻找 首先双击打开终端 首先执行 cd /Library/Java/JavaVirtualMachines 进入Java虚拟机目录,执行 ls 查看

    2024年02月03日
    浏览(46)
  • 【Vue篇】mac上Vue 开发环境搭建、运行Vue项目(保姆级)

    首先,了解一下,Vue 的整体开发环境。 Homebrew :Mac 系统下的包管理器,类似于 Linux 下的 apt-get,Windows 的控制面板 - 安装删除程序 Node.js : JavaScript 运行环境(runtime),不同系统之间不能直接运行各种编程语言,Runtime类似于各国会议上的同声传译 npm : Nodejs 下的包管理器

    2024年02月05日
    浏览(31)
  • Mac系统搭建selenium环境报:无法打开“chromedriver”,因为无法验证开发者 解决办法

    1.安装selenium 打开terminal,使用以下命令安装selenium: pip install -U selenium 2.下载Chromedriver chromedriver 应与chrome版本匹配!!! 在Chrome中输入:chrome://version/ 查看Chrome的版本号信息 然后去地址: https://registry.npmmirror.com/binary.html?path=chromedriver/ 找到和自己Chrome浏览器版本匹配的Chrome dri

    2024年02月06日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包