博客

Vulkan动态渲染(dynamic rendering)教程

动态渲染(dynamic rendering) 是 两个月前被刚刚推出 的一个新的Vulkan扩展。 有了它,我们在Vulkan中可以省去创建渲染通道对象( VkRenderPass )以及帧缓冲存储器对象( VkFramebuffer )的代码。 在动态渲染被推出以前,为了写一个Vulkan渲染器,我们总是需要创建渲染通道对象。 渲染通道的API…

用Typescript来实现中英文博客

各位2022年新年快乐! 今天我想谈谈与我大多数博客文章不同的东西:我是如何用Typescript来实现我的双语博客的。 自从我在2015年创建这个博客以来,我一直想把它变成中英文的来吸引更多的国内受众,而我终于在2019年底终于实现了这一点。 我的博客的国际化实现可能与大多数人不同,因为我没有使用任何例如 i18next 的第三方库, 而主要依靠Typescript…

C++标准库的小工具: std::align

今天我想来讲述一下C++标准库中的 std::align 函数。 因其用途有限,它可能是C++标准库中最鲜为人知的函数之一。 在下文中,我将用 arena allocator 来作为使用 std::align 的例子。 Arena allocator Arena allocator 可能是最简单的自定义内存管理策略。在一些文献中 arena allocator 也被叫为 bump…

Fun with Ternary Search(暂未翻译)

This year is my first year doing the Advent of Code challenge, and today (2021 Day 7)'s challenge is a fun one. I won't go to the details, but the problem involves finding the minimum for a function…

在C++中,不要不假思索地使用auto参数

从C++14开始,我们可以创建带 auto 参数的lambda表达式。 到了C++20,我们甚至可以在正常的函数中使用 auto 参数。 随着这一特性的出现, 在一些C++程序员开始流行了把所有的参数都使用 auto 的风气。 然而,我认为除非我们不得已,我们不应该使用 auto 参数。 为什么人们会喜欢它? 在某些时候写出具体的类型确实比较烦人,因此人们就会开始使用 auto…