Lesley Lai

RSS: https://lesleylai.info/rss.xml
Lesley Lai 的个人网站,包含博客、公开笔记和个人项目作品集

周末搞定 3D 高斯泼溅

开发者在一周内把 3D Gaussian Splatting 实现进自己的渲染器,分享过程中遇到的 bug:最初所有 splat 看起来不透明,经社区成员指出是混合设置问题;随后发现协方差矩阵算错,修正后得到正确结果。 整体体验轻松愉快,带有现场踩坑记录和开源社区互助的细节。
评论点赞收藏9 天前

图形编程 meetup 上的一个小困惑:为什么矩阵变换要这样写?——关于“基变换”的再理解

作者在参加 Graphics Programming 线上 meetup 讨论“3D Gaussian Splatting in a Weekend”一文后,发现有人对矩阵变换为何要以特定形式书写感到困惑。 他把答案解释为“基变换”(change of basis),会后找到一篇讲解更清晰的参考文章,并分享了自己“以为懂了其实没懂”的学习体验。内容偏小众,面向关注图形编程与 3D 渲染的技术读者,讨论点在于矩阵变换直观理解。
评论点赞收藏11 天前

2026年7月29日13:42

<p>今天的“诅咒”CMake:</p><blockquote>如果直接将外部依赖项引入构建中,例如通过 `FetchContent` 或直接调用 `add_subdirectory()`,而这些依赖项中的某一个对 `option(BUILD_SHARED_LIBS …)` 进行了调用,那么顶层项目在引入其依赖项之前,也必须先调用 `option(BUILD_SHARED_LIBS …)`。若不这样做,可能会导致首次运行 CMake 与后续运行之间出现不同的行为。</blockquote><p>这可真是个棘手的链接器错误,得好好调试一番。</p>
评论点赞收藏63 天前

写给闪卡的情书:我是如何用间隔重复攻克复杂学科的

<p>本文是为 提交的作品。</p><p>很长一段时间里,我都没把抽认卡当作一种有效的学习工具。青少年时期学英语时,我用过抽认卡来记忆单词,但从未想过把它用于那些需要深入理解的学科。<br><br>一提到抽认卡,我脑海中立刻浮现出这样一幅画面:有人机械地背诵定义和公式,在考试中靠死记硬背蒙混过关,却缺乏真正的理解。这种死记硬背确实有损学习效果。<br><br>在理工科领域,这种看法相当普遍。随便一搜就能找到 ,其中点赞较高的回答都否定了抽认卡的价值。</p><p>我的奶奶就是死记硬背的高手。她直到18岁才获得接受基础教育的机会,却凭借超强的记忆力——连标点符号都不放过——把整篇文章的内容都背了下来,居然通过了考试!<br><br>后来,她又一路“碾压”般地完成了医学院学业,成了我们家第一个大学毕业生。</p><p>我的观念在 的课程中发生了改变,在那里我重新了解了 ——即以递增的时间间隔进行复习的方法。将间隔重复作为一种通用的学习工具(而不仅仅是用来死记硬背词汇),这或许是我从那门课中学到的最重要的东西。<br><br>课程还特别提到了 ——也许是最著名的抽认卡软件——作为实现间隔重复的一种手段。</p><p>我之所以格外重视这件事,是有原因的:我的记忆力非常差。我常常连前一天做了什么都忘了,更别提学过的东西了。数学尤其糟糕。我过去都是突击式地学习,但平时几乎用不上,现在学的东西说不定五年后也…</p>
评论点赞收藏82 天前

2026-07-01 00:38

WIP Galaxy renderer in Vulkan I did something similar in Rust + wgpu a few years ago, but that project was abandoned and also looked pretty ugly. I want to give it another try.
评论点赞收藏91 天前

Git LFS 多远程镜像同步痛点与解决方案

开发者实测 Git LFS 在配置个人 Forgejo 实例和 Codeberg 双镜像时的同步问题。Forgejo 推送镜像不支持大文件同步,单远程多推送 URL 仅推送到第一个地址。 最终发现配置多个远程仓库可实现正常同步,但过程繁琐。适合有自建 Git 服务或多地备份需求的工程师参考。
评论点赞收藏93 天前

2026-06-08 00:22

Some advice I gave someone on Discord today: A common beginner mistake is to optimize by vibes just because some experts said “doing X is more efficient than Y”, “avoid doing Z”, etc. Further, differe...
评论点赞收藏114 天前

2026-06-08 00:22

Some advice I gave someone on Discord today: A common beginner mistake is to optimize by vibes just because some experts said “doing X is more efficient than Y”, “avoid doing Z”, etc. Further, differ...
评论点赞收藏114 天前

2026-06-06 14:45

Weekend project: Compute Toy: compute shader-based Shadertoy-like thing. It uses my existing Vulkan project infrastructure, like shader hot reloading. Shader in the demo is copied from the “Raymarchi...
评论点赞收藏116 天前

2026-06-01 06:42

Baby’s WIP Vulkan render graph implementation. I am still working out how best to automatically generate barriers. The current heuristic is fairly coarse and may limit expressiveness. Good bye vkCmd...
评论点赞收藏121 天前

2026-05-10 15:22

A nice side effect of converting an old C++ project to use C++20 modules is that I no longer need to think about which header to include to use particular functions. I am using a much larger granulari...
评论点赞收藏143 天前

2026-04-16 10:59

What a good treat when you are learning something ( generating functions in my case) and find a blog post written by someone you know: Dice, (De)Convolution and Generating Functions. Thank you, @demof...
评论点赞收藏167 天前

2026-04-16 10:59

What a good treat when you are learning something (generating functions in my case) and find a blog post written by someone you know: Dice, (De)Convolution and Generating Functions. Thank you, @demofo...
评论点赞收藏167 天前

2026-04-08 03:36

Since I reduced my use of em dashes (it’s pretty hard to type anyway), my new best friend is parentheses. (Parentheses are really cool since you can use them to express non-linear flow, and you can al...
评论点赞收藏175 天前

2026-03-31 13:00

Added Mastodon comments functionality to my blog (the function is already there for the “microblog” section, and I just added it to regular posts). Now, if I link a Mastodon post in a blog entry, all...
评论点赞收藏183 天前

2026-03-21 02:57

I hope generators get more love in the C++ circle. Unfortunately, I think a C++ coroutine-based generator has a non-trivial overhead compared to a hand-written iterator or state machine. It probably ...
评论点赞收藏193 天前

2026-03-20 10:52

Just set up AdGuard Home on a new Raspberry Pi for the first time. As someone who has never used a Raspberry Pi before, this whole process of assembling the case, installing the OS, and installing the...
评论点赞收藏194 天前

2026-03-19 11:57

I don’t know. The complexity of this issue (both implementations and the mental overhead of programmers) just to save a few keystrokes makes me feel it’s not really worthwhile? It feels more like a fa...
评论点赞收藏195 天前

2026-03-16 12:18

Haven’t done webdev for a while, and it seems (at least some) things are getting better. TIL HTML popover attribute, goodbye to all the previous hacks with an invisible checkbox + label to achieve a “...
评论点赞收藏198 天前

2026-03-12 12:18

My PostgreSQL database got nuked lol Ugh. Needless to say, I’ve made the same mistake in almost all my docker-compose files. I am only saved because • I don’t have any database ports exposed directl...
评论点赞收藏202 天前

2026-03-07 01:15

TIL falling factorial: It’s interesting that is very often seen (pick from choices, then pick from choices, etc), but I didn’t know if it has a single notation. It’s also interesting that with the f...
评论点赞收藏207 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。