提示:博主本人也在努力学习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. AIO异步通信。BIO同步阻塞式IO, NIO同步非阻塞通信。

    IO 什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的.单独的程序一般是让系统为它们完 ...

  2. 从青铜到王者,揭秘 Serverless 自动化函数最佳配置

    [福利活动]1分钟Serverless部署PHP商城实验班上线啦! 带你体验如何使用 Serverless 应用引擎 SAE 快速部署一个PHP商城,并体验 SAE 带来的弹性伸缩.应用监控等强大能力 ...

  3. SpringCloud学习 系列十、服务熔断与降级(3-类级别的服务降级)

    系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...

  4. 三、java连接mongo数据库

    系列导航 一.linux单机版mongo安装(带密码验证) 二.mongo集群搭建 三.java连接mongo数据库 四.java对mongo数据库增删改查操作 五.mongo备份篇 mongoexp ...

  5. XSS、CSRF 以及如何防范

  6. P1765

    和那道题一样,这次用的getchar,结果对了可是洛谷评测WA了,换成scanf单个字符,结果还是WA了,换成直接getline读入整个字符串就对了. 可见读入单个字符的方式有可能出现各种小错,尤其是 ...

  7. NET Core实战项目之CMS 设计篇 思维导图

    NET Core实战项目之CMS 第七章 设计篇-用户权限极简设计全过程 .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程 .NET Core实战项目之CMS 第九章 设计篇 ...

  8. 万字血书Vue-Vue进阶

    Vue进阶 生命周期 组件运行的过程 组件的生命周期是:组件从创建->运行(渲染)->销毁的整个过程,是一个时间段 如何监听组件的不同时刻 vue框架为组件内置了不同时刻的生命周期函数,是 ...

  9. Go-竞态条件-锁

    1. 产生环境 多个进程(process).线程(threading)或协程(routine)存在对同一个资源访问顺序敏感(时间上的错误) 2. 概念 临界区 -- 时间上对同一资源的读写产生的数据不 ...

  10. [转帖]TiKV 多副本丢失以及修复实践

    https://tidb.net/blog/ad45bad9#6%E6%80%BB%E7%BB%93 1实验目的 随着tidb使用场景的越来越多,接入的业务越来越重要,不由得想试验下tidb组件的高可 ...