Vulkan学习苦旅01:最初的相遇(学习路线、参考资料与环境配置)
提示:博主本人也在努力学习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:最初的相遇(学习路线、参考资料与环境配置)的更多相关文章
- Python学习【01】编程语言简介,Python安装及环境变量配置
编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++ ---&g ...
- Go学习【01】:初步学习需要的知识
理解以下知识,初步写简单go项目就足够了 语言参考(基础篇) 基本语法 基本组成 包声明 引入包 函数 变量 语句 & 表达式 注释 其它(可忽略) go没有像php.js那样需要在文件开始申 ...
- OpenCV学习笔记(一)——OpenCV3.1.0+VS2015开发环境配置
摘要: 由于最近AR(增强现实)这个概念非常火爆,各种基于AR的应用及游戏逐渐面向大众,而在AR中最重要的两个技术就是跟踪识别和增强渲染,其中跟踪识别是通过OpenCV这个开源的计算机视觉库来实现的, ...
- python学习笔记(八)---关于Django的下载以及环境配置
下载链接: https://www.djangoproject.com/download/ (建议选择 1.6版本) 然后安装 Django下载后为压缩包,解压缩跟Python放在同一个根目录,在do ...
- Opencv学习笔记1:安装opencv和VS2015并进行环境配置
用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置. 第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: https://opencv.org/releases ...
- 【opencv学习笔记一】opencv下载安装与VS2017开发环境配置
本文章摘录自浅墨博客,原文链接http://blog.csdn.net/poem_qianmo/article/details/19809337 目录 1.opencv下载与安装 2.计算机环境变量配 ...
- 学习Opencv 2.4.9 (一)---Opencv + vs2012环境配置
作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 首先获得最新的Opencv 2.4.9源代码:opencv源代码下载 一.Opencv环境变量配置 ...
- Scala 学习之路(一)—— Scala简介及开发环境配置
一.Scala简介 1.1 概念 Scala全称为Scalable Language,即“可伸缩的语言”,之所以这样命名,是因为它的设计目标是希望伴随着用户的需求一起成长.Scala是一门综合了面向对 ...
- OpenCV学习笔记(一)、VS2015+OpenCV-4.1.1环境配置(Windows10)
1.登陆OpenCV官网,点击打开Releases,会看到各个版本的OpenCV安装文件,选择自己想要的版本下载即可.下载网址:https://opencv.org/releases/ 2.配置环境变 ...
- 2016/01/10 C++ Primer 小记 —— 命令行编译环境配置
OK!第一篇博文!自贺一下! 今日看了此书的前几页.嗯,说得挺全,基础易懂. 之前学过c++,但没用过命令行编译. 本人用的VS里的编译器,文件名是cl.exe,在VC目录下. 虽然有了编译器,但并不 ...
随机推荐
- 2014年第五届蓝桥杯【C++省赛B组】
第一题:啤酒和饮料 啤酒每罐2.3元,饮料每罐1.9元.小明买了若干啤酒和饮料,一共花了82.3元. 我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒. 注意:答案是一个整数.请通过浏览器提 ...
- windows不安装虚拟机如何使用Linux系统作为开发工具?
哈喽,大家好,我是仲一.作为嵌入式开发程序员,常常需要在Linux环境下编译一些代码.安装虚拟机比较方便,但是,太占用内存了.性能不好的电脑开了一台虚拟机后,可能就干不了其他事情了.安装双系统也比较麻 ...
- mock使用
- Vue源码编译过程
Vue源码编译过程一.挂载初始化$mounted会挂载组件,不存在 render 函数时需要编译(compile);二.compile1.compile 分为 parse,optimize 和 gen ...
- Linux 常见重要系统文件
Linux 常见重要系统文件 目录 Linux 常见重要系统文件 网卡配置文件 文件内容举例: DNS配置文件 文件内容举例: 系统hosts文件 文件内容举例: fstab文件 文件内容举例: rc ...
- 05-Verilog基础语法_4
Verilog基础语法 Mixed Model(混合设计模型) System Tasks(系统任务,系统函数) 用随机数驱动验证 fd = $fopen("文件路径及文件名") / ...
- css - 编写 兼容到ie7的导航
1, index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...
- [转帖]linux audit审计(7-1)--读懂audit日志
https://www.cnblogs.com/xingmuxin/p/8807774.html auid=0 auid记录Audit user ID,that is the loginuid.当我 ...
- [转帖]Web技术(五):HTTP/2 是如何解决HTTP/1.1 性能瓶颈的?
文章目录 一.HTTP/2 概览 二.HTTP/2 协议原理 2.1 Binary frame layer 2.1.1 DATA帧定义 2.1.2 HEADERS帧定义 2.2 Streams and ...
- [转帖]ESXi下查看CPU 频率
https://www.jianshu.com/p/8943a4223ed7 查看CPU的固定频率 [root@localhost:/bin] esxcli hardware cpu list|gr ...