591行GLSL与真实的引力透镜:Ghostty Blackhole如何逐像素光线追踪黑洞
【免费下载链接】ghostty-blackholeGhostty Blackhole puts a real, ray-traced black hole inside your terminal. It grows as Claude Codes context window fills up, live. A fresh session is a quiet hole in the corner. A full one swallows half your screen. Youll always see /compact coming.项目地址https://gitcode.com/gh_mirrors/gh/ghostty-blackhole点击查看免费下载Ghostty Blackhole 是一个只由 591 行 GLSL 组成的 Ghostty 终端黑洞着色器它对每个靠近黑洞的像素实时数值积分光线在史瓦西时空中的测地线用真正的光线追踪做出引力透镜效果——终端文字会被弯曲、放大、镜像黑洞还会随着 Claude Code 上下文窗口的填充程度实时长大。一、️ 它是什么终端里一颗会吞屏的黑洞它不是一个贴图动画。黑洞的影子、吸积盘、光子环、被弯曲的文字全部是从光线追踪中算出来的没有任何一笔是手绘上去的现象它是怎么来的黑洞影子撞击参数小于 $b_{crit}\frac{3\sqrt{3}}{2}r_s$ 的光线螺旋落入视界永久消失引力透镜逃逸的光线被投影回终端天空平面文字弯曲、放大爱因斯坦环内出现镜像吸积盘一条光线可以多次穿过多薄盘远端弧线从影子上下方绕过《星际穿越》同款光子环在 $1.5,r_s$ 光子球附近打转的光线收集了所有盘面穿越亮环自然涌现时间膨胀盘面纹样的转速按 $\sqrt{1-1.5,r_s/r}$ 衰减内缘轨道肉眼可见地冻住最妙的是尺寸模式在 blackhole.glsl 的SIZE_MODE里切换Token 模式默认黑洞实时跟踪 Claude Code 的上下文窗口。新会话时它是右上角一颗安静的小洞上下文填满时它会吞掉半个屏幕、漂移得越来越快。执行/compact或开新会话它立刻缩回角落。你永远能提前看见/compact要来了。番茄钟模式黑洞随整点工作节律在 55 分钟内缓缓长大到点收缩提醒你休息停止敲键盘 90 秒后它会自行淡出绝不打扰真正的休息。二、 逐像素光线追踪591 行里藏着的物理光子的加速度方程参考实现Bruneton 的黑洞着色器依赖预计算好的测地线查找表但 Ghostty 自定义着色器只是一趟无纹理的片元 Pass拿不到查找表。Ghostty Blackhole 的做法是让每个像素自己现场做物理。核心是 Binet 形式的光子加速度见 blackhole.glsl#L507-L515a -3/2 · h² · x / r⁵其中 $h$ 是守恒量只在每像素计算一次。着色器用蛙跳积分kick-drift-kick推进光线路径步长随半径自适应——靠近光子球时细步、远处粗步把积分预算N_STEPS默认 48见 blackhole.glsl#L68-L71花在强弯曲区域。影子与光子环物理常数而非品味参数影子的角半径由临界撞击参数决定它是一个物理量被写成#define以防调参面板误改blackhole.glsl#L217-L222B_CRIT 2.5980762 // (3√3/2) r_s小于它的射线落入视界判定见 blackhole.glsl#L497-L501$r1$ 即穿过视界大于它的射线逃逸并参与透镜——你看到的黑边、亮环都是这条判定链的自然结果。远近分工积分太贵远场用解析式逐像素积分是主要 GPU 开销所以只有黑洞周围圆形近场内的像素才付这笔账blackhole.glsl#L445-L474。远场光线改用对积分器拟合过的弱场偏折解析式误差 1%并加了一点色散——蓝光的偏折比红光略多产生轻微的色像差。吸积盘连颜色都是算出来的光线每次穿过盘面blackhole.glsl#L517-L558都会累加一次 HDR 发射温度Shakura–Sunyaev 温度分布 黑体色温拟合相对论效应多普勒/引力红移因子 $g\sqrt{1-1.5,r_s/r},/,(1-\beta\cdot\hat{k})$迎面一侧蓝热并被 $g^N$ 聚束增亮远去一侧又暗又红时间膨胀盘面纹样按当地固有时率旋转内缘轨道近乎静止。想动手玩的话这些旋钮都集中在文件开头blackhole.glsl#L34-L66常量作用HOLE_RADIUS黑洞尺寸总调节LENS_DEPTH终端天空平面距离越大文字弯得越狠N_STEPS每像素测地线积分步数主性能旋钮STAR_GAIN引力透镜星空亮度0 关闭WORK_AREA屏幕底部保留区你的命令行永不变形三、 黑洞为什么跟着 Claude Code 长大着色器没有自定义 uniform、也没有帧间状态那上下文占用量怎么传进去答案很巧妙藏在光标颜色里。配套脚本 claude-token.py 以三种方式接入 Claude Code 配置statusLineSessionStart/SessionEnd钩子每轮助手回复后它把上下文占用0..11/250 步长编码进一个琥珀色光标色OSC 12 转义的低位字节claude-token.py#L30-L32。着色器每帧从iCurrentCursorColor解码blackhole.glsl#L106-L117。两层保险让它不可能被误触发16 位签名高位是固定琥珀色基座 4 位校验和主题自己的光标色无法召唤黑洞光标色按表面surface独立每个 Ghostty 分屏/窗口拥有自己的黑洞互不干扰。更新也没有任何重载或重编译卡顿Ghostty 在光标颜色变化时会把旧色快照进iPreviousCursorColor并刷新iTimeCursorChangeblackhole.glsl#L119-L146着色器据此在 0.31.5 秒之间滑行过渡1% 的跳变平滑成连续运动整片引力场不会跳帧。四、 两步安装让黑洞住进你的终端要求 Ghostty 1.3需要光标着色器 uniform。第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/gh/ghostty-blackhole第 2 步在 Ghostty 配置~/.config/ghostty/config中加入两行然后CmdShift,重载见 README.md#L187-L199custom-shader /path/to/blackhole_ghostty/blackhole.glsl custom-shader-animation trueToken 模式只需再把claude-token.py按 README.md#L153-L185 写进~/.claude/settings.json即可新开一个 Claude Code 会话右上角的小洞就出现了。五、️ 9 种预设一键切换用 Tuner 面板调参不想手改常量的话仓库自带一个原生 SwiftUI 控制面板 tuner/分组滑块覆盖全部着色器参数与文件双向同步每次拖动通过SIGUSR2让 Ghostty 即时热重载tuner/make-app.sh 可打包成可双击的 app。预设取自 tuner/Sources/BlackHoleTuner/ContentView.swift 的参数体系包括《星际穿越》的 Gargantua、M87* 甜甜圈、类星体、耀变体、Inferno、Zen 等九种外观每个预设只改动温度、倾角、内径、多普勒混合度等几个常量你就能直观看到同一套光线追踪物理参数不同画面完全不同——这正是 591 行 GLSL 最直观的说服力。写在最后Ghostty Blackhole 的价值在于它没有欺骗影子是判定出来的透镜是积分出来的盘面颜色是黑体辐射加多普勒算出来的。它同时是一件实用的工具——把 Claude Code 的上下文水位变成一个看得见、摸得着、快吞掉你屏幕的物理现象。如果你在意 GPU 开销记住唯一的性能旋钮是N_STEPS如果想要满格上下文黑洞的体验把它调到能稳定 30 帧的位置就是最适合你的黑洞了。赞分享【免费下载链接】ghostty-blackholeGhostty Blackhole puts a real, ray-traced black hole inside your terminal. It grows as Claude Codes context window fills up, live. A fresh session is a quiet hole in the corner. A full one swallows half your screen. Youll always see /compact coming.项目地址https://gitcode.com/gh_mirrors/gh/ghostty-blackhole点击查看免费下载相关推荐从像素到光影Genesis光线追踪渲染系统如何重塑机器人仿真视觉体验从像素到光影Genesis光线追踪渲染系统如何重塑机器人仿真视觉体验 Genesis是一个面向通用机器人和具身AI学习的生成式世界平台其内置的光线追踪渲染系物理引擎具身智能机器人人工智能jaxstronomy基于 JAX 的强引力透镜仿真管线全解析jaxstronomy基于 JAX 的强引力透镜仿真管线全解析 jaxstronomy 是 Google Research 仓库中一个以 JAX 为核心实现的人工智能深度学习NLP计算机视觉强化学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Superset 4.1.1 Docker离线部署中文版实战:内网BI平台搭建与避坑指南

Superset 4.1.1 Docker离线部署中文版实战:内网BI平台搭建与避坑指南

简介:这是一份面向需要内网或离线环境部署数据可视化平台的企业开发者与运维人员的中文版 Superset 4.1.1 Docker 离线部署包。通过容器化方式打包了 Superset 及其依赖,解决了无外网条件下安装配置复杂、中文支持不足的痛点,适用于数据分析团…

2026/10/11 5:33:46 阅读更多 →
大数据OLAP与传统数据分析:本质区别与选型实战指南

大数据OLAP与传统数据分析:本质区别与选型实战指南

很多人第一次听到“大数据OLAP”和“传统数据分析”这两个词时,第一反应是:这不都是查数据做报表吗?但实际踩过坑的人都知道,这问题就像问“自行车和汽车有什么区别”一样——没有前提条件,答案根本没法一句话说完。偏…

2026/10/11 5:33:46 阅读更多 →
全球大宗商品交易服务市场调研:边界界定、规模测算与实操方法

全球大宗商品交易服务市场调研:边界界定、规模测算与实操方法

做全球大宗商品交易服务市场的调研,起初是出于一个很实际的需求:公司要评估海外商品贸易业务线上的中期增长空间,需要一份能用来做内部决策参考的行业图景。拿到这个选题时我也没多想,以为就是找几份机构报告拼一拼、数据摘一摘&a…

2026/10/11 5:33:46 阅读更多 →

最新新闻

Cursor 高级指南(七):CLI 安装、非交互、Worktree 与 ACP 实战配置

Cursor 高级指南(七):CLI 安装、非交互、Worktree 与 ACP 实战配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 7:05:37 阅读更多 →
Unity 笔记二:数字孪生智慧城市中 LookAt 与 Cursor 的协同配置到 TaoToken

Unity 笔记二:数字孪生智慧城市中 LookAt 与 Cursor 的协同配置到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 7:05:37 阅读更多 →
Zion 接入 Gemini 3.5 flash 后,AI Agent Builder 的 BYOM 配置怎么改到 TaoToken

Zion 接入 Gemini 3.5 flash 后,AI Agent Builder 的 BYOM 配置怎么改到 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 7:05:37 阅读更多 →
2026告别漫长等待:百度网盘冷门资源类似pandownload加速法

2026告别漫长等待:百度网盘冷门资源类似pandownload加速法

很多人在日常保存或者获取资料的时候,经常会遇到文件传输进度停滞不前的情况。面对几十兆甚至几个小容量的文件,进度条却像蜗牛爬行一样缓慢,确实很容易让人感到焦躁和无奈。 其实在很多时候,下载速度提不上来不一定是因为外界的…

2026/10/11 7:05:36 阅读更多 →
OWASP 五大 AI 安全框架:从对话、Agent、技能到协议的全链路防护体系

OWASP 五大 AI 安全框架:从对话、Agent、技能到协议的全链路防护体系

随着生成式AI、自主智能体(Agent)、插件技能生态的大规模落地,AI安全风险早已不再局限于“模型幻觉、提示注入”等基础问题。从模型对话输出、智能体自主决策,到第三方技能插件执行、内外系统协议交互,每一层链路都存在…

2026/10/11 7:05:36 阅读更多 →
安卓分屏自动左滑脚本:Auto.js+ADB实现3秒滑动挂机

安卓分屏自动左滑脚本:Auto.js+ADB实现3秒滑动挂机

先说个真实场景:我手机上装了某短视频极速版,每天要做签到和刷视频任务,手得一遍遍地左滑,滑到拇指发酸。后来我寻思,这滑动动作完全可以用脚本代替。于是就有了标题里这个功能——“循环3秒左滑-支持屏幕上下分屏”。…

2026/10/11 7:04:36 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →