<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://microyy.github.io/</id><title>不具名的站点</title><subtitle>A minimal, responsive and feature-rich Jekyll theme for technical writing.</subtitle> <updated>2026-06-08T23:36:27+08:00</updated> <author> <name>Double Young</name> <uri>https://microyy.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://microyy.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="zh-CN" href="https://microyy.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Double Young </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Codex Desktop 代理配置实践</title><link href="https://microyy.github.io/posts/codex-desktop-proxy/" rel="alternate" type="text/html" title="Codex Desktop 代理配置实践" /><published>2026-05-06T23:10:00+08:00</published> <updated>2026-05-06T23:10:00+08:00</updated> <id>https://microyy.github.io/posts/codex-desktop-proxy/</id> <content type="text/html" src="https://microyy.github.io/posts/codex-desktop-proxy/" /> <author> <name>Double Young</name> </author> <category term="技术笔记" /> <summary>最近用 Codex App 写代码蹬得很爽。唯一不爽的是，Codex App 设置里没有提供代理设置，需要代理软件开 TUN 模式才能正常工作。尽管 TUN 模式可以透明接管网络，使用起来几乎无感，但我不喜欢。代理设置成配置系统代理，Codex 是可以工作的，但我也不喜欢。我希望代理的工作环境是： 不打开 TUN。 不配置 Windows 系统代理。 尽量只让 Codex 相关进程走本地代理 http://127.0.0.1:10808 这当然是可以的。尽管 Codex App 没有显式提供代理设置，这不意味着它不进行任何代理规则处理。OpenAI 开源了 openai/codex 仓库，其中包含 Codex CLI、Rust core、app-server 等关键运行时部分。我们可以先从这个仓库入手，搞清楚哪些结论来自源码，哪些部分需要结合 Codex App ...</summary> </entry> <entry><title>TinyRenderer（四）：Shading，从明暗到材质</title><link href="https://microyy.github.io/posts/tr4/" rel="alternate" type="text/html" title="TinyRenderer（四）：Shading，从明暗到材质" /><published>2026-04-28T20:00:00+08:00</published> <updated>2026-04-28T20:00:00+08:00</updated> <id>https://microyy.github.io/posts/tr4/</id> <content type="text/html" src="https://microyy.github.io/posts/tr4/" /> <author> <name>Double Young</name> </author> <category term="技术笔记" /> <summary>上一篇我们把模型顶点从局部空间一路送到了屏幕空间：Model -&amp;gt; View -&amp;gt; Projection -&amp;gt; Perspective Divide -&amp;gt; Viewport。此时三角形已经能被光栅化器接住，Z-Buffer 也能决定每个像素最后归谁。 但是，只知道“哪个像素属于哪个三角形”还远远不够。一个像素最终应该是红色、蓝色、暗一点、亮一点，还是带有镜面高光？这些问题不属于光栅化本身，而属于 Shading（着色）。 本文参考 tinyrenderer 的 shading 章节，按“问题、模型、算法、代码”的顺序展开：什么是 shading，为什么需要 shading，常见 shading 算法之间有什么区别，以及这些概念如何落到 TinyRenderer 的代码里。 本文会介绍 Flat、Gouraud、Phong 和 Blinn-Phong 四种...</summary> </entry> <entry><title>TinyRenderer（三）：从 3D 顶点到 2D 像素：MVP、透视除法与视口映射</title><link href="https://microyy.github.io/posts/tr3/" rel="alternate" type="text/html" title="TinyRenderer（三）：从 3D 顶点到 2D 像素：MVP、透视除法与视口映射" /><published>2026-04-02T20:00:00+08:00</published> <updated>2026-04-02T20:00:00+08:00</updated> <id>https://microyy.github.io/posts/tr3/</id> <content type="text/html" src="https://microyy.github.io/posts/tr3/" /> <author> <name>Double Young</name> </author> <category term="技术笔记" /> <summary>在前面的两篇文章中，我们从画线开始，一路实现了三角形光栅化，并利用 Z-Buffer 解决了复杂图元的遮挡问题。 但是，光栅化器无法直接输入三维坐标，这就是为什么我们需要引入坐标变换（Coordinate Transformations）。 很多教程习惯一上来就铺开三维矩阵，但在亲手写完最底层的光栅化器之后，再回头看坐标变换，逻辑其实会清楚得多： 从 3D 到 2D 的投影变换：模型数据是全方位的三维坐标，而光栅化器只认二维屏幕上的像素点。要把立体的 3D 模型“拍扁”投射到 2D 屏幕上，还想产生近大远小的效果，显然需要一套数学变换。 相机的视角变换：要在场景中游历，我们需要一台能自由走动、转动视角的“相机”，让画面跟随相机位置实时变化，这显然需要另一套控制视角的数学变换。 正是为了解决降维投射与相机移动这两个问题，图形学引入了 MVP 矩阵（Model, Vi...</summary> </entry> <entry><title>TinyRenderer（二）：三角形光栅化、Z-Buffer 与背面剔除</title><link href="https://microyy.github.io/posts/tr2/" rel="alternate" type="text/html" title="TinyRenderer（二）：三角形光栅化、Z-Buffer 与背面剔除" /><published>2026-03-18T20:00:00+08:00</published> <updated>2026-04-04T16:34:33+08:00</updated> <id>https://microyy.github.io/posts/tr2/</id> <content type="text/html" src="https://microyy.github.io/posts/tr2/" /> <author> <name>Double Young</name> </author> <category term="技术笔记" /> <summary>上一篇介绍了如何在像素网格上画一条线。现在，我们面对下一个问题：如何在屏幕上填充一个三角形。 三角形是 3D 渲染中最基本的图元。无论多么复杂的模型，最终都会被分解为三角形网格。所以”填充三角形”这一步，是整个软渲染器的核心通道。 tr 的这篇文章给了一个由易到难、层层递进的介绍。本文依照这个思路，先介绍古老的扫描线方法，再介绍现代的包围盒加重心坐标方法，并结合代码讲解重心坐标的求解与应用，最后讨论背面剔除与 z-buffer 的关系。 什么是”好”的三角形填充算法 tr 给出了三条标准： 简单快速。 对称性：结果不能依赖于顶点传入的顺序。 无缝拼接：两个共享边的三角形之间，不能因为光栅化舍入产生缝隙。 第三条尤其重要。现实中一个 mesh 的每条内部边都被两个三角形共享，如果两个三角形对同一条边的光栅化结果不一致，就会出现看得见的黑缝。 扫描线渲染（S...</summary> </entry> <entry><title>Chirpy Front Matter设置汇总</title><link href="https://microyy.github.io/posts/frontmatter/" rel="alternate" type="text/html" title="Chirpy Front Matter设置汇总" /><published>2026-01-30T20:00:00+08:00</published> <updated>2026-01-30T20:00:00+08:00</updated> <id>https://microyy.github.io/posts/frontmatter/</id> <content type="text/html" src="https://microyy.github.io/posts/frontmatter/" /> <author> <name>Double Young</name> </author> <category term="技术笔记" /> <summary>整理了一个全能型模板，它合并了 Chirpy 主题支持的所有核心 Front Matter 设置。你可以直接将其保存为 Markdown 文件的开头，按需修改或取消注释。 --- # [必填] 基础信息 title: "这里输入你的文章标题" date: 2026-01-30 16:00:00 +0800 # 建议保留时区偏移量 author: Jerry # 对应 _data/authors.yml 的 ID 或直接写名字 # [推荐] 分类与标签 (分类建议不超过 2 个，标签不限) categories: [技术, 后端] tags: [jekyll, chirpy, markdown] # [视觉] 首页置顶与封面图 pin: true # 置顶显示在首页 image: path: /asset...</summary> </entry> </feed>
