<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Game Development on VisualGMQ的博客</title><link>https://visualgmq.github.io/categories/game-development/</link><description>Recent content in Game Development on VisualGMQ的博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>visualgmq@outlook.com (VisualGMQ)</managingEditor><webMaster>visualgmq@outlook.com (VisualGMQ)</webMaster><copyright>© 2026 VisualGMQ</copyright><lastBuildDate>Mon, 31 Aug 2026 17:37:01 +0800</lastBuildDate><atom:link href="https://visualgmq.github.io/categories/game-development/index.xml" rel="self" type="application/rss+xml"/><item><title>从0开始制作游戏物理引擎（八）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E5%85%AB/</link><pubDate>Mon, 31 Aug 2026 17:37:01 +0800</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E5%85%AB/</guid><description>&lt;p&gt;本文述说了在SceneQuery场景下的加速结构BVH。&lt;/p&gt;
&lt;p&gt;本文是SceneQuery的最后一篇文章。至此，所有的SceneQuery技术都已叙述完毕。&lt;/p&gt;
&lt;p&gt;当然还有其他空间划分方法（SAP，OctTree，K-DTree等）。但这些一般用于模拟时的空间划分，等到模拟章节再说。&lt;/p&gt;
&lt;p&gt;绝大部分理论来自于Erin Catto的GDC分享&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;（建议阅读）和PBRT&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;，而实现则参考PhysX5.4.0。&lt;/p&gt;
&lt;p&gt;BVH构建更多的理论来源于渲染中光线追踪方向。其中有很多乱七八糟的BVH构建（在CPU上，或使用并行计算，或在GPU上构建）。本文不说那么多乱七八糟的，只说常用的方法。&lt;/p&gt;</description></item><item><title>从0开始制作游戏物理引擎（七）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%B8%83/</link><pubDate>Thu, 27 Aug 2026 10:44:58 +0800</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%B8%83/</guid><description>&lt;p&gt;本章说明了射线检测Raycast算法。&lt;/p&gt;
&lt;p&gt;大部分Raycast都是使用向量方程的数值解直接得出，这种的公式大全&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;都有记载不再赘述。&lt;/p&gt;
&lt;p&gt;本文主要叙述：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;射线与凸多面体求交的Slab方法(Cyrus-Beck, Liang-Barsky和Kay-Kajiya)&lt;/li&gt;
&lt;li&gt;Gino编写的对任意凸体的Raycat算法的论文&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;解释。此算法也用来做任意凸体之间的Sweep算法。&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>从0开始制作游戏物理引擎（六）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E5%85%AD/</link><pubDate>Tue, 25 Aug 2026 16:27:21 +0800</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E5%85%AD/</guid><description>&lt;p&gt;本文解释了EPA算法及其常见实现。&lt;/p&gt;</description></item><item><title>游戏开发中的寻路（一）</title><link>https://visualgmq.github.io/posts/%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91%E4%B8%AD%E7%9A%84%E5%AF%BB%E8%B7%AF%E4%B8%80/</link><pubDate>Thu, 06 Aug 2026 16:51:02 +0800</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91%E4%B8%AD%E7%9A%84%E5%AF%BB%E8%B7%AF%E4%B8%80/</guid><description>&lt;p&gt;本文说明了游戏开发中的寻路算法。从BFS到Dijkstra到A*以及A*的变体等。&lt;/p&gt;
&lt;p&gt;大部分参考这篇由浅入深的文章&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description></item><item><title>从0开始制作游戏物理引擎（五）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%BA%94/</link><pubDate>Sun, 19 Jul 2026 23:24:56 +0000</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%BA%94/</guid><description>&lt;p&gt;本文解释了GJK算法及其常见实现。&lt;/p&gt;</description></item><item><title>从0开始制作游戏物理引擎（四）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E5%9B%9B/</link><pubDate>Sun, 19 Jul 2026 01:12:56 +0000</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E5%9B%9B/</guid><description>&lt;p&gt;这一章描述了判交和MTD算法，包括SAT等。&lt;/p&gt;
&lt;p&gt;大部分的判交算法都在公式大全&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;中有推导。这里只记录一些难理解的。&lt;/p&gt;</description></item><item><title>从0开始制作游戏物理引擎（三）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%B8%89/</link><pubDate>Sat, 18 Jul 2026 01:12:56 +0000</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%B8%89/</guid><description>&lt;p&gt;这一章描述了各种几何体的最近点计算&lt;/p&gt;
&lt;p&gt;大部分的算法在公式大全&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;中都有详细推导。我只记录一些较难理解的。&lt;/p&gt;</description></item><item><title>从0开始制作游戏物理引擎（二）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%BA%8C/</link><pubDate>Fri, 17 Jul 2026 01:12:56 +0000</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%BA%8C/</guid><description>&lt;p&gt;这一章描述了各种几何体表示法，以及BV构建。&lt;/p&gt;</description></item><item><title>从0开始制作游戏物理引擎（一）</title><link>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%B8%80/</link><pubDate>Thu, 16 Jul 2026 18:44:56 +0000</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E5%88%B6%E4%BD%9C%E6%B8%B8%E6%88%8F%E7%89%A9%E7%90%86%E5%BC%95%E6%93%8E%E4%B8%80/</guid><description>&lt;p&gt;这一章描述了物理引擎的结构，并对整个系列文章的路线进行介绍&lt;/p&gt;</description></item><item><title>C++原子内存序和MESI</title><link>https://visualgmq.github.io/posts/c++%E5%8E%9F%E5%AD%90%E5%86%85%E5%AD%98%E5%BA%8F%E5%92%8Cmesi/</link><pubDate>Sun, 21 Jun 2026 18:44:56 +0000</pubDate><author>visualgmq@outlook.com (VisualGMQ)</author><guid>https://visualgmq.github.io/posts/c++%E5%8E%9F%E5%AD%90%E5%86%85%E5%AD%98%E5%BA%8F%E5%92%8Cmesi/</guid><description>&lt;p&gt;在使用C++ atomic原子变量的时候，需要指定内存序(memory order)，比如&lt;code&gt;memory_order_relaxed&lt;/code&gt;，&lt;code&gt;memory_order_acquire&lt;/code&gt;等。我一直没搞明白这些内存序是在做什么。这几天深入理解了一下于是写下这份文章。&lt;/p&gt;</description></item></channel></rss>