现代 CMake 项目的正确姿势
本文总结了现代 CMake 项目实践中的一些经验。
本文总结了现代 CMake 项目实践中的一些经验。
本文归纳了 RESTful 接口设计实践中的一些经验。
体验 k8s 比较省事的一个的方法就是直接装 minikube 单机部署。
为了更省事,可以考虑直接在 WSL2 中操作。
省事个锤子,这是折磨。
本文将使用 Podman 作为 minikube 的驱动,而非 Docker。
C++ Core Guidelines 是现代 C++(目前是 C++17)的一套核心指导方针,考虑了未来的增强与 ISO 技术规格。
刚刚有个朋友问我加老师发生甚么事了,我说两个年轻人,一个 C#,一个 Java。
CMake 是一种比较灵活的构建工具,正因如此导致很多 CMake 项目的结构混乱不堪,甚至包括国外某知名大厂的高 star 项目,本文将介绍一种目前广泛使用的比较合理的 CMake 项目结构
VS Code 写 CMake 感觉十分舒适,比 VS 爽多了
CMake 是一个跨平台的构建、测试、打包工具,被广泛使用于 C++开源项目中
现在我们已经成功地渲染并在屏幕上展示了一个三角形,更重要的是,我们把 Vulkan 中的大部分知识都过了一遍,现在让我们来回顾一下它的每个步骤
本文中我们将会结合之前的东西,最后在屏幕上把三角形画出来
命令在 Vulkan 中,比如绘图操作和内存传递,并不能直接经过函数调用来执行。我们必须要把所有需要执行的操作记录到命令缓冲区对象中。这样做的优势在于配置绘图命令的复杂工作能够提前且多线程进行。这之后,我们只需要在主循环中通知 Vulkan 执行这些命令
在之前的文章中已经讨论了很多帧缓冲区相关的东西,并且我们已经配置了渲染路径,渲染路径基于一个单独的与交换链图像具有相同格式的帧缓冲区,但我们实际上还没有创建它
首先还是添加一个成员函数并在 initVulkan 中调用它
与早期 API 不同,Vulkan 中的着色器代码必须要以字节码的格式指定,而不是像 GLSL、HLSL 这样人类可读的语法。这种字节码格式是 SPIR-V,它可以用于 Vulkan 和 OpenCL。它是一个用来写图形与计算着色器的格式,但是现在我们只关心可用于 Vulkan 图形流水线的着色器
我们需要配置渲染时需要使用的帧缓冲区附着的相关信息。我们需要指定有多少个颜色和深度缓冲区,它们的采样数以及通过渲染操作应当如何处理它们的内容。所有的这些信息都会被封装到渲染路径对象中,于是我们添加一个成员变量来保存它