《Vulkan Tutorial》 笔记 04:Instance
对于一个 Vulkan 应用而言,你首先需要通过创建一个 `instance` 来初始化 Vulkan 库, `instance` 是应用与 Vulkan 库的连接,在创建过程中会有相应的操作告知 Driver 你的应用的一些细节
《Vulkan Tutorial》 笔记 03:基本代码结构
本部分结果可参考 03_Base_Code
#基本结构
三角形应用的基本代码结构如下所示:
12345678910// HelloTriangleApplication.hclass HelloTriangleApplication {public: void run();private: void initVulkan(); void mainLoop(); ...
《Vulkan Tutorial》 笔记 02:开发环境
本部分结果可参考 02_Development_Environment
本教程使用 VS 2022 进行开发,并使用 C++ 17 标准进行编译。
#Vulkan SDK
从 Vulkan 网站 下载并安装 Vulkan SDK:
或通过 winget 进行安装:
1winget install KhronosGroup.VulkanSDK
通常而言,安装后的路径为 C:\VulkanSDK ...
《Vulkan Tutorial》 笔记 01:概览
这一部分会先介绍 Vulkan 以及它解决的问题,然后会阐述绘制第一个三角形所需要的组成部分。
#Vulkan 的起源
早期的图形 API 诞生时是为了配合当时的显卡硬件,大多是采用可配置固定管线实现。随着显卡的架构及硬件发展,显卡也提供了更多的可编程功能,这些可编程功能也逐步的被添加进早期的图形 API 中。但因为这些图形 API 诞生时的设计目标架构与目前的显卡架构已经存在比较大的差异,许多的 ...
《Vulkan Tutorial》 笔记 00:简介
Vulkan 是由 Khronos 提供了一套新图形 API,旨在为现代显卡提供更优秀的抽象能力,进而可以让开发者可以更好的描述自己需要应用执行的操作。与传统的 OpenGL 和 Direct3D 相比,Vulkan更少的依赖于驱动行为。
Vulkan 的设计想法与 Direct3D 12 及 Metal 类似,但 Vulkan 提供了跨平台的能力
但 Vulkan 为了满足上述的优点,提供了一 ...
《Vulkan Tutorial》 学习笔记汇总
#准备
Ch 00 Introduction:简单的介绍 Vulkan API 的背景和设计目标。
Ch 01 Overview:介绍 Vulkan 和它的优点,以及绘制一个三角形所需要的步骤和其中设计的部分概念,同时也介绍了 Vulkan API 的约束。
Ch 02 Development environment:介绍如何配置一个 Vulkan 的开发环境,在本章的结束可以运行一个空窗口的应用 ...
Unity Coroutine 与 Yield 的关系
本文主要介绍 Unity 中的协程(Coroutine)和 Yield 的关系,分别会在 Unity 中进行协程原理的论证,以及通过 .Net Tool 自定义一个简易的协程系统说明协程原理。
C# Yield 关键字
介绍 C# 中 Yield 关键字的用法和工作原理,且通过一个示例说明如何通过 Yield 关键字节省性能。
《3D 数学基础》第四章 矩阵简介
本文主要介绍了矩阵的数学定义,矩阵的维度和表示方法,方阵,单位矩阵,矩阵转置,矩阵与标量相乘,两个矩阵相乘,矩阵与向量相乘,向量转置,矩阵的几何意义等内容。
绕任意轴旋转的旋转矩阵推导
介绍了绕任意轴旋转任意角度的的旋转矩阵的推导过程。