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目录下. 虽然有了编译器,但并不 ...
随机推荐
- vivo 全球商城:订单中心架构设计与实践
一.背景 随着用户量级的快速增长,vivo 官方商城 v1.0 的单体架构逐渐暴露出弊端:模块愈发臃肿.开发效率低下.性能出现瓶颈.系统维护困难. 从2017年开始启动的 v2.0 架构升级,基于业务 ...
- vue3组件el-dialog提取
父组件: 1 <template> 2 <div class="auto-wrap"> 3 <div class="content-left ...
- wav文件头信息
概述 最近在对接百度TTS的python接口,对接的过程中发现一些问题,记录下解决方案. 百度TTS接口返回的音频数据格式有4种,分别是mp3,pcm-16k,pcm-8k,wav(pcm-16k). ...
- keystore 与 trust store 的区别 及 keytool 常用命令
本文为博主原创,未经允许不得转载: 1. key store 与 trust store 区别 2. java 配置 单向认证与双向认证的过程 3. key store 与 trust store 常 ...
- kafka 的基本概念及使用场景
本文为博主原创,未经允许不得转载: 1. Kafka 的使用场景: 1.日志收集:一个公司可以用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种 consumer,例如ha ...
- 物联网浏览器(IoTBrowser)-简单介绍
物联网浏览器(IoTBrowser)是用于开发人机界面(HMI)或数据采集与监督控制系统(SCADA) 的工具,使用HTML或Vue前端技术开发物联网终端用户界面,支持串口.RFID.电子秤等硬件协议 ...
- 海思Hi35xx 通过uboot查看flash指定地址的数据
前言 在实际应用中有遇到过设备放置一段时间后设备不能启动的问题,uboot 完全没有响应,类似于flash中的数据被擦洗掉一样. 网上有介绍说是nandflash 不稳定,高温或是静电会导致nan ...
- [转帖]已整理-shell内置字符串常用操作
https://www.cnblogs.com/reachos/p/16803672.html bash 里面内置了一些常用的字符串操作: 1.字符串截取 a="abc" ${a: ...
- [转帖]七. PostgreSQL逻辑结构(1)—数据库和模式
https://www.jianshu.com/p/ee8b1bdfdb19 在PostgreSQL里,逻辑结构从高到底依次是:数据库.模式(又叫架构).表.行.当我们打开PostgreSQL官方自带 ...
- [转帖]台积电3nm工艺细节曝光
https://weibo.com/ttarticle/p/show?id=2309404853901739557561&sudaref=www.baidu.com 2023年1月3日消息 ...