Vulkan教程

Vulkan教程 - 03 验证层-卡核

Vulkan教程 – 03 验证层

Vulkan API设计一开始就是要减轻驱动负担,所以API本身的错误检查很少。但是并不表示我们不能向API添加这些检查,这也就是validation layers的功能了。验证层中常用的操作有:...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
13750
Vulkan教程 - 05 逻辑设备与窗口表面-卡核

Vulkan教程 – 05 逻辑设备与窗口表面

逻辑设备 选择了物理设备后,我们需要建立逻辑设备来交互了。逻辑设备创建过程和实例创建过程类似,且描述了我们想要的特性。向类中添加一个新的成员变量存储逻辑设备句柄: ...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
13620
Vulkan教程 - 23 加载模型-卡核

Vulkan教程 – 23 加载模型

现在你的程序已经为有贴图的3D网格渲染做好准备了,但是现在的顶点和索引数组都是比较无聊的。本章我们扩展该程序来从真实的模型文件加载顶点和索引数据,以让显卡做点真正的工作。...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
01480
Vulkan教程 - 12 栅栏和信号量-卡核

Vulkan教程 – 12 栅栏和信号量

        这一章所有东西都会整合到一起了。我们将会写一个drawFrame方法,它会被主循环调用,将三角形呈现到屏幕上。创建drawFrame方法在mainLoop的while内处理事件后调用&...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
0870
Vulkan教程 - 24 生成Mip贴图-卡核

Vulkan教程 – 24 生成Mip贴图

现在我们的程序可以加载和渲染3D模型了,本章我们再添加一个新的特性,Mip贴图。Mip贴图是被游戏和渲染软件所广泛使用的,Vulkan也对Mip生成给了我们足够的控制。 Mip贴图是...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
0600
Vulkan教程 - 18 阶段性总结-卡核

Vulkan教程 – 18 阶段性总结

Vulkan学习几周了,稍微整理下。由于一开始的博客就是从环境搭建开始的,所以并没有对Vulkan的特性和教程的目标及步骤进行记录。这里主要就是做这个工作,所以这个总结并不是...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
01160
Vulkan教程 - 08 着色器及编译SPIR-V-卡核

Vulkan教程 – 08 着色器及编译SPIR-V

着色器模块 不像是之前的API,Vulkan着色器代码一定要用字节码格式,而不是人类可读的语法如GLSL和HLSL。这个字节码就是SPIR-V,设计用于Vulkan和OpenCL。这是一个可以用于编...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
01580
Google Filament引擎编译记录-卡核

Google Filament引擎编译记录

我之前写过两篇Filament编译文档,就在我的网站上,可以到如下地址找到: 捉不住的鼬鼠的训练场 - 文档 现在又在做安卓有关开发和编译的问题,尤其是涉及到C+...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
0870
Vulkan更新扩展;Vulkan添加扩展-卡核

Vulkan更新扩展;Vulkan添加扩展

最近学到了如何更新和添加Vulkan的扩展,就是通过更新驱动的方式。自己写代码制作扩展我不太确定是否可以。 问题是这样的: const std::vector<const char*> deviceExtension...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
02380
Vulkan教程 - 13 重建交换链-卡核

Vulkan教程 – 13 重建交换链

现在我们的程序能成功绘制三角形了,但是还有一些情况,它还不能很好地处理。窗口表面可能会改变,导致交换链与其不兼容。这种事情发生的可能原因之一是窗口的大小改变了。我...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
01780
Vulkan教程 - 11 帧缓冲和命令缓冲-卡核

Vulkan教程 – 11 帧缓冲和命令缓冲

        帧缓冲我们前面的章节已经讨论很多了,而且我们已经建立了渲染通道,以便得到单个的帧缓冲,有着和交换链图像一样的格式,但是我们还没有真正创建什么...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
01230
Vulkan教程 - 19 贴图和管线屏障-卡核

Vulkan教程 – 19 贴图和管线屏障

        现在逐个顶点加上颜色,几何体已经是彩色的了,但是这其实是不太好的办法。本章我们要实现贴图映射,这会让几何体看起来更有趣,也能够让我们加载和绘...
捉不住的鼬鼠的头像-卡核捉不住的鼬鼠2年前
0820