<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>文档 on MrOptimist</title><link>https://mr0ptimist.github.io/tags/%E6%96%87%E6%A1%A3/</link><description>Recent content in 文档 on MrOptimist</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 22 Apr 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://mr0ptimist.github.io/tags/%E6%96%87%E6%A1%A3/index.xml" rel="self" type="application/rss+xml"/><item><title>纹理压缩格式详解：ASTC、BC、ETC 与 PVRTC</title><link>https://mr0ptimist.github.io/posts/%E7%BA%B9%E7%90%86%E5%8E%8B%E7%BC%A9%E6%A0%BC%E5%BC%8F%E8%AF%A6%E8%A7%A3_astc_bc_etc_pvrtc/</link><pubDate>Wed, 22 Apr 2026 10:00:00 +0800</pubDate><guid>https://mr0ptimist.github.io/posts/%E7%BA%B9%E7%90%86%E5%8E%8B%E7%BC%A9%E6%A0%BC%E5%BC%8F%E8%AF%A6%E8%A7%A3_astc_bc_etc_pvrtc/</guid><description>&lt;h2 id="概述"&gt;概述&lt;/h2&gt;
&lt;p&gt;纹理压缩（Texture Compression）是实时渲染中降低显存占用和带宽消耗的核心技术。与通用图像压缩（如 PNG、JPEG）不同，硬件纹理压缩格式支持&lt;strong&gt;随机访问&lt;/strong&gt;——GPU 无需解压整幅图像即可直接读取单个 texel，这对纹理缓存和着色器采样至关重要。&lt;/p&gt;
&lt;p&gt;本文系统梳理主流硬件纹理压缩格式的技术细节、适用场景及硬件支持情况，所有关键数据均来自官方文档与公开规范。&lt;/p&gt;
&lt;h2 id="bc-系列block-compression"&gt;BC 系列（Block Compression）&lt;/h2&gt;
&lt;p&gt;BC 系列是 DirectX 生态中最主流的压缩格式，由 S3TC（DXT）发展而来，后续经 RGTC、BPTC 扩展为今日形态。所有 BC 格式均以固定 &lt;strong&gt;4×4 texel 块&lt;/strong&gt;为单位进行编码。&lt;/p&gt;
&lt;h3 id="bc1原-dxt1--s3tc"&gt;BC1（原 DXT1 / S3TC）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据量&lt;/strong&gt;：64 bits / 4×4 block（&lt;strong&gt;4 bpp&lt;/strong&gt;）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结构&lt;/strong&gt;：两个 16-bit RGB565 端点色 + 16 个 2-bit 索引&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;色板&lt;/strong&gt;：4 色（两个端点 + 两个插值色）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alpha&lt;/strong&gt;：无独立 alpha，仅支持 1-bit &amp;ldquo;镂空&amp;rdquo;（punch-through）透明&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;支持通道&lt;/strong&gt;：RGB（无独立 Alpha）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;典型用途&lt;/strong&gt;：不透明漫反射贴图、简单遮罩&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;据 &lt;a href="https://registry.khronos.org/DataFormat/specs/1.3/dataformat.1.3.html"&gt;Khronos Data Format Specification&lt;/a&gt; 描述，BC1 的 1-bit alpha 行为由两个端点值的相对大小决定：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;color0 &amp;gt; color1&lt;/code&gt;（按无符号整数比较）&lt;/strong&gt;：4 色不透明模式，&lt;code&gt;00/01/10/11&lt;/code&gt; 均为插值颜色，无透明&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;color0 &amp;lt;= color1&lt;/code&gt;&lt;/strong&gt;：&lt;strong&gt;3 色 + 透明模式&lt;/strong&gt;，&lt;code&gt;11&lt;/code&gt; 表示完全透明像素（alpha = 0）&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="实际使用方式"&gt;实际使用方式&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;编码端&lt;/strong&gt;：向压缩器提供带 Alpha 的源图（如 PNG with 1-bit alpha），大多数 BC1 编码器（如 DirectXTex、&lt;code&gt;nvcompress&lt;/code&gt;、Compressonator）会自动判断 block 是否需要透明模式。若源图 alpha 为纯 0/255，编码器会尽量使用 &lt;code&gt;color0 &amp;lt;= color1&lt;/code&gt; 模式将 &lt;code&gt;11&lt;/code&gt; 映射为透明。&lt;/p&gt;</description></item><item><title>使用文档</title><link>https://mr0ptimist.github.io/posts/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3/</link><pubDate>Mon, 20 Apr 2026 12:00:00 +0800</pubDate><guid>https://mr0ptimist.github.io/posts/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3/</guid><description>&lt;h1 id="hugo-博客使用文档"&gt;Hugo 博客使用文档&lt;/h1&gt;
&lt;h2 id="站点信息"&gt;站点信息&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;站点目录：&lt;code&gt;D:\ClaudeOutput\my-site\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;文章目录：&lt;code&gt;content\posts\&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;配置文件：&lt;code&gt;hugo.toml&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;主题：PaperMod&lt;/li&gt;
&lt;li&gt;本地预览：http://localhost:1313/&lt;/li&gt;
&lt;li&gt;GitHub 仓库：https://github.com/mr0ptimist/mr0ptimist.github.io&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="bat-工具"&gt;BAT 工具&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文件&lt;/th&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;serve_启动预览.bat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;启动本地预览服务器（自动杀旧进程），含草稿，实时刷新&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;build_构建发布.bat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;构建静态文件到 public/ 目录&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;new-post_新建文章.bat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;交互式创建文章（标题、标签、分类、是否隐藏）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;clean_清除输出.bat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;删除 public/ 目录&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="日常写文章流程"&gt;日常写文章流程&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;1. 双击 new-post_新建文章.bat → 输入标题、选标签/分类、是否隐藏
2. 编辑 content/posts/xxx.md → 写文章内容
3. 双击 serve_启动预览.bat → 浏览器打开 http://localhost:1313/ 查看效果
4. 关掉预览（关闭窗口即可）
5. git add . &amp;amp;&amp;amp; git commit -m &amp;#34;new post&amp;#34; &amp;amp;&amp;amp; git push → 自动部署
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="文章格式"&gt;文章格式&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+++
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;date = &amp;#39;2026-04-20T12:00:00+08:00&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;draft = false
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;title = &amp;#39;文章标题&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tags = [&amp;#39;标签1&amp;#39;, &amp;#39;标签2&amp;#39;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;categories = [&amp;#39;分类&amp;#39;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hidden = true
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;+++
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;正文内容，支持 Markdown 语法。
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;draft = true&lt;/code&gt;：草稿，只在 &lt;code&gt;serve -D&lt;/code&gt; 模式下显示&lt;/li&gt;
&lt;li&gt;&lt;code&gt;draft = false&lt;/code&gt;：正式发布&lt;/li&gt;
&lt;li&gt;&lt;code&gt;hidden = true&lt;/code&gt;：加密文章，需在导航栏输入密码后才显示&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="私密文章"&gt;私密文章&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;在 hugo.toml 中配置 &lt;code&gt;secretPassword = '密码'&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;文章 front matter 加 &lt;code&gt;hidden = true&lt;/code&gt; 即可隐藏&lt;/li&gt;
&lt;li&gt;导航栏锁图标 → 弹窗输入密码 → 隐藏文章出现&lt;/li&gt;
&lt;li&gt;再次点击锁图标 → 重新锁定&lt;/li&gt;
&lt;li&gt;密码状态用 sessionStorage，关闭浏览器自动重置&lt;/li&gt;
&lt;li&gt;隐藏文章不会出现在分类、标签列表中&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="导航栏功能"&gt;导航栏功能&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;按钮&lt;/th&gt;
&lt;th&gt;功能&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;锁图标&lt;/td&gt;
&lt;td&gt;解锁/锁定私密文章&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;箭头图标&lt;/td&gt;
&lt;td&gt;调整文章宽度和 TOC 宽度&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;太阳/月亮&lt;/td&gt;
&lt;td&gt;切换亮色/暗色主题&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="toc目录导航"&gt;TOC（目录导航）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;大屏（1400px+）自动在左侧显示浮动 TOC&lt;/li&gt;
&lt;li&gt;滚动时高亮当前标题&lt;/li&gt;
&lt;li&gt;只显示一级标题和带数字编号的子标题&lt;/li&gt;
&lt;li&gt;点击箭头按钮可调整 TOC 宽度（150-400px）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="部署"&gt;部署&lt;/h2&gt;
&lt;p&gt;使用 GitHub Actions 自动部署，push 到 main 分支即可：&lt;/p&gt;</description></item></channel></rss>