排序
Vulkan教程 – 08 着色器及编译SPIR-V
着色器模块 不像是之前的API,Vulkan着色器代码一定要用字节码格式,而不是人类可读的语法如GLSL和HLSL。这个字节码就是SPIR-V,设计用于Vulkan和OpenCL。这是一个可以用于编...
Google Filament引擎编译记录
我之前写过两篇Filament编译文档,就在我的网站上,可以到如下地址找到: 捉不住的鼬鼠的训练场 - 文档 现在又在做安卓有关开发和编译的问题,尤其是涉及到C+...
Vulkan更新扩展;Vulkan添加扩展
最近学到了如何更新和添加Vulkan的扩展,就是通过更新驱动的方式。自己写代码制作扩展我不太确定是否可以。 问题是这样的: const std::vector<const char*> deviceExtension...
Vulkan教程 – 13 重建交换链
现在我们的程序能成功绘制三角形了,但是还有一些情况,它还不能很好地处理。窗口表面可能会改变,导致交换链与其不兼容。这种事情发生的可能原因之一是窗口的大小改变了。我...
Vulkan教程 – 06 交换链
Swap chain(交换链) 现在到了Vulkan教程第十章了,学习交换链。Vulkan没有默认帧缓冲的概念,因此它需要一个基础设施,能够在我们通过屏幕看到内容之前,...
Vulkan教程 – 17 描述符与内存对齐
之前章节的描述符布局描述了描述符可以绑定的类型。本章我们要对每个VkBuffer资源创建一个描述符集合来将它绑定到统一缓冲描述符上。 描述符集合不能够直接创建,必须从一个池中分配ÿ...
Vulkan教程 – 10 创建图形管线
在我们完成管线创建之前,我们需要告诉Vulkan渲染将要用到的帧缓冲附件的信息。我们需要明确有多少颜色和深度缓冲,每个又有多少采样以及它们的内容应该如何通过渲...
Vulkan教程 – 25 多重采样(教程结束)
现在我们的程序可以加载贴图LOD了,可以在渲染远处对象的时候修复假象。现在图像看起来更平滑了,但是离近看的时候会发现几何边缘线有凹凸不平锯齿状的图案。 这个并非我们想要的效...
Vulkan教程 – 16 MVP与统一缓冲对象
我们现在能为每个顶点传输任意属性到顶点着色器了,但是用全局变量怎么样呢?我们本章要转移到3D图形上,这就需要Model-View-Projection矩阵了,也就...