提示:博主本人也在努力学习Vulkan中,文中可能有写错的地方,敬请大家批评指正。

这个世界只有两种人:会Vulkan的和不会Vulkan的,大概不存在“只会一点”的中间状态。学习Vulkan并不简单,这也是文章标题中“苦旅”一词的由来。

使用Vulkan前需要了解大量概念,也就是说,之前在图形学领域储备的知识越少,学起Vulkan就会越累。我们的大脑也没办法在短时间内接收大量的知识,因此学习Vulkan将会是一段漫长的旅途。

  或许有的人听说过用Vulkan画一个三角形需要几百行代码,事实的确如此。不同于OpenGL, Vulkan将更多底层暴露给用户(这也是目前图形API的一个发展趋势),从而导致了更为琐碎、但更为高效的代码。从这篇博客起,画出一个三角形是很久以后的事情了。在第一个三角形从屏幕中出现前,我们不会体会到任何的快乐,反而会越来越急躁。

学习路线

  接下来要学的东西,都在下面这张表里:

  在接下来的学习中,我们会按照这张“地图”的顺序,从上到下依次学习。其中,每一个方块都代表着一个需要搞清楚的概念,此外,还要搞清楚不同概念之间的关联,这确实也不是一朝一夕就能学会的。所以说,还是一步一个脚印,慢慢来吧。

一些可能有用的参考资料

  以下列出一些可能有用的参考资料:

1. Vulkan Tutorial: https://vulkan-tutorial.com/. 较为官方的Vulkan教程。

2. Mesa: https://gitlab.freedesktop.org/mesa/mesa. Mesa给出了Vulkan的一种实现,对我们理解Vulkan的API可能会有帮助。

3. Understanding Vulkan Object: https://gpuopen.com/learn/understanding-vulkan-objects/. 上面这张图的出处,简要介绍了Vulkan中各对象的作用和功能,是一篇很棒的博客。

4. Vulkan Specification: https://registry.khronos.org/vulkan/specs/1.3/html/. Vulkan的API说明文档。

配置环境

  各平台下的环境配置参见:https://vulkan-tutorial.com/Development_environment. 写得很详细。总的来说,需要安装Vulkan SDK, 并下载GLFW和GLM库,然后在开发环境中配置好它们,相信这对于聪明的大家来说一定是小菜一碟。

  搭建好环境后,就可以正式开始我们的Vulkan学习“苦旅”啦。加油!

Vulkan学习苦旅01:最初的相遇(学习路线、参考资料与环境配置)的更多相关文章

  1. Python学习【01】编程语言简介,Python安装及环境变量配置

    编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++      ---&g ...

  2. Go学习【01】:初步学习需要的知识

    理解以下知识,初步写简单go项目就足够了 语言参考(基础篇) 基本语法 基本组成 包声明 引入包 函数 变量 语句 & 表达式 注释 其它(可忽略) go没有像php.js那样需要在文件开始申 ...

  3. OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置

    摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...

  4. python学习笔记(八)---关于Django的下载以及环境配置

    下载链接: https://www.djangoproject.com/download/ (建议选择 1.6版本) 然后安装 Django下载后为压缩包,解压缩跟Python放在同一个根目录,在do ...

  5. Opencv学习笔记1:安装opencv和VS2015并进行环境配置

    用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置. 第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: https://opencv.org/releases ...

  6. 【opencv学习笔记一】opencv下载安装与VS2017开发环境配置

    本文章摘录自浅墨博客,原文链接http://blog.csdn.net/poem_qianmo/article/details/19809337 目录 1.opencv下载与安装 2.计算机环境变量配 ...

  7. 学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置

    作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 首先获得最新的Opencv 2.4.9源代码:opencv源代码下载 一.Opencv环境变量配置 ...

  8. Scala 学习之路(一)—— Scala简介及开发环境配置

    一.Scala简介 1.1 概念 Scala全称为Scalable Language,即“可伸缩的语言”,之所以这样命名,是因为它的设计目标是希望伴随着用户的需求一起成长.Scala是一门综合了面向对 ...

  9. OpenCV学习笔记(一)、VS2015+OpenCV-4.1.1环境配置(Windows10)

    1.登陆OpenCV官网,点击打开Releases,会看到各个版本的OpenCV安装文件,选择自己想要的版本下载即可.下载网址:https://opencv.org/releases/ 2.配置环境变 ...

  10. 2016/01/10 C++ Primer 小记 —— 命令行编译环境配置

    OK!第一篇博文!自贺一下! 今日看了此书的前几页.嗯,说得挺全,基础易懂. 之前学过c++,但没用过命令行编译. 本人用的VS里的编译器,文件名是cl.exe,在VC目录下. 虽然有了编译器,但并不 ...

随机推荐

  1. Redis 主从复制架构配置及原理

    本文为博主原创,未经允许不得转载: 目录: 1. Redis 主从复制架构搭建 2. Redis 主从架构原理 3. Redis 断点续传 4. Jedis 连接 redis 主从架构一般配置一主多从 ...

  2. 274. H 指数

    1.题目介绍 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数.计算并返回该研究者的 h 指数. 根据维基百科上 h 指数的定义:h 代表 ...

  3. ORA-01017: 用户名/密码无效;登录被拒绝

    总结 出现此错误的原因有多种: 您的用户名或密码实际上不正确 数据库配置不正确(tnanames.ora. $ORACLE_SID 参数) 现在,我们来看看这个错误的解决方案. ORA-01017 解 ...

  4. 如何让pc端网站在手机上可以等比缩放的整个显示

      将 头部标签的  <meta name="viewport" content="width=device-width, initial-scale=1.0&qu ...

  5. Mongo-文档主键-ObjectId

    文档主键 文档主键时 _id,如果插入文档时,没有传入则自动生产ObjectId 作为文档主键 文档主键要求在集合中唯一 文档主键可以时另一个文档,被当作字符串对象处理 ObjectId对象 获取文档 ...

  6. [转帖]Shell 判断文件或文件夹是否存在(不存在则创建)

    目录 1. 文件夹不存在创建文件夹 2. 判断文件夹是否存在 3. 判断文件是否存在 4. 常用的文件比较符 1. 文件夹不存在创建文件夹 if [ ! -d "/data/" ] ...

  7. [转帖]Linux字符截取命令-cut

    概述 cut是一个选取命令,.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. 语法 cut [-bn] [file] 1 或 cut [-c] [file] ...

  8. Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法

    Firewall-cmd 启用NAT开放内网机器通过能上网的机器访问外网的方法 背景说明 昨天的处置已经可以让外部可以使用唯一的电信IP地址访问内部交换机的服务器了. 但是今天的场景是想让内网交换机的 ...

  9. [转帖]crash工具分析Kdump下vmcore文件常用命令总结(三)(实例易懂)

    一.简介 本文主要介绍使用crash工具对kdump生成的vmcore文件进行分析,解析常见的crash命令,前面已讲述两章关于Kdump的内容,读者感兴趣可以点击下面的链接: 1.Kdump调试机理 ...

  10. [转帖]Skywalking学习及整合springboot

    目录 1. Skywalking概述 2. Skywalking主要功能 3. Skywalking主要特性 4. Skywalking架构简介 5. Spring Cloud与Skywalking实 ...