ShaderToHuman路线图前瞻:从80x25文本屏幕到WebGPU/CUDA支持,着色器调试库的下一站
【免费下载链接】ShaderToHumanHLSL/GLSL/Slang library for debugging shaders项目地址https://gitcode.com/gh_mirrors/sh/ShaderToHuman点击查看免费下载ShaderToHuman简称 S2H是一款由 Electronic Arts 开源的着色器调试库支持 HLSL、GLSL 与 Slang 三种着色语言帮助开发者在 GPU 上直接打印文本、绘制 2D/3D 图形并搭建轻量调试 UI。本文将从其官方 TODO 清单出发前瞻这个着色器调试库的下一站高性能的 80x25 文本屏幕、WebGPU/CUDA 多平台支持以及一整套值得关注的功能改进计划。一分钟了解 ShaderToHuman对新手来说ShaderToHuman 解决的是一个很常见的问题GPU 上没有现成的打印和画板。在传统图形 API 里想查看一个 GPU 变量的值往往要写 C 代码、分配缓冲、回读显存。而 S2H 的设计目标是易于集成——只需包含一两个头文件、几行代码就能在视口里直接输出文字、画表格、画箭头和 3D 框。它不追求复杂 UI 或极致性能而是专注打印几个数字、画几个 2D/3D 元素这类小而具体的场景并且采用宽松许可可自由用于商业用途。核心代码位于 include/s2h.hlsl、include/s2h_3d.hlsl 和 include/s2h_scatter.hlsl完整示例见 examples/ 目录。路线图重点一80x25 复古文本屏幕在官方 TODO 清单中80x25 文本屏幕被列为独立的高价值任务预估 1 天工作量它将作为新的可选 API 以单独的 .hlsl 头文件形式提供。设计思路非常巧妙极简数据结构每个字符用 1 个uint存储整个屏幕仅 80×25×4 字节可同时保存字符与文字/背景颜色像素级放大渲染由后处理或 Quad 像素着色器把文本屏幕投影为 80×25×8×8 字符像素的画面官方还提到理想效果是带C64 风格边框零拷贝滚动通过环形视图实现——只需记录起始 Y 坐标垂直滚动几乎不产生内存拷贝性能定位相比现有的 Gather/Scatter API 性能更好适合需要大量文本输出的调试场景目前 S2H 的文本输出已经相当直观下面的Hello World就来自 examples/HelloQuadVSPS/ 示例新文本屏幕正是这条路线的自然延伸路线图重点二WebGPU 与 CUDA 支持在 README.md 的 Roadmap 部分作者明确写下一句话Reach out for suggestions, maybe CUDA support欢迎提交建议也许支持 CUDA。对应 TODO 清单中预估 5 天工作量的任务Implement for other APIs? e.g. WebGPU, CUDA, only if there is interest——也就是说WebGPU 与 CUDA 的实现取决于社区兴趣度。这对浏览器端和 CUDA 生态用户是个明确信号S2H 目前的集成路径覆盖 HLSL带预处理器的引擎如 Gigi、Unreal、Unity和 GLSLVulkan/OpenGL 引擎、ShaderToy、WebGL未来若社区呼声足够这套着色器内调试范式就有望移植到 WebGPU 与 CUDA 环境值得注意的配套任务还包括补充非 WebGL 的真实 GLSL 示例目标 OpenGL 与 Vulkan预估 5 天、修复 GLSL 下表格与函数绘制的前置声明问题预估 1 天——这些都是多平台扩展的前置工程。GLSL 无预处理器版本可通过 transpileToGLSL.bat 一键从 HLSL 源码转换生成核心文件见 include/s2h_glsl.hlsl。其他值得关注的路边计划除两大重点外官方 TODO 清单还包含一系列小而实用的改进交互控件全家桶垂直滑杆1h与 2D 滑杆1h水平/垂直滚动条4h并将滚动条与表格视图结合以浏览大表格1d——这让 TableTest.png 这类表格调试真正可用调试能力深化交互式纹理缩放4h在后处理中实现像素化放大 RGB 颜色调试器交互式缓冲调试3d支持 hex/float/int 视图大内容可滚动操作录制持久化7d可选 API 记录调用序列之后可回放——相当于给 GPU 调试加录像回放3D 与文档体验新增drawOBB()三维有向包围盒绘制1d文档补齐 HLSL 像素着色器场景3d让文档示例全部可交互或带动画2d并修复文档首次编译着色器等待过慢的问题3d为不同 GPU 与 API 建立可复现的运行时/编译时基准测试5d版本进展路线图已在兑现路线图并非空中楼阁近两个版本的动作可以快速验证方向v132026-03-08新增s2h_coordinateSystem()并附带鼠标平移/缩放的功能示例实现了交互式平移、缩放和像素颜色调试v14新增Slang 支持已在 Vulkan 与 DX12 示例中验证并在文档侧为未来的多语言扩展打基础——docs/index.html 的配置器中已预留了扩展语言选项的位置如何跟进与参与本地浏览交互文档Windows 下双击 startLocalServer.bat 即可启动文档服务器首次运行会自动安装 express 依赖运行单元测试在 Gigi 查看器中选择 File→Run Python Script运行 unittests/GigiTest.py应报告零错误贡献功能任何建议尤其 WebGPU/CUDA 需求都可以直接反馈给作者社区呼声将直接影响排期总结ShaderToHuman 的路线图清晰呈现了一个小而美的演进逻辑用 80x25 文本屏幕强化文本调试性能用滑杆/滚动条/缓冲调试完善交互闭环再用 WebGPU/CUDA 把这套着色器调试范式推向更广阔的平台。对于正在写 HLSL/GLSL/Slang 着色器的开发者而言现在关注这个开源着色器调试库正是好时机。赞分享【免费下载链接】ShaderToHumanHLSL/GLSL/Slang library for debugging shaders项目地址https://gitcode.com/gh_mirrors/sh/ShaderToHuman点击查看免费下载相关推荐跑通 Folia 全屏歌词动画folia-major 歌词动画播放器最短路径上手跑通 Folia 全屏歌词动画folia major 歌词动画播放器最短路径上手 跑通后你会点一首歌看着全屏歌词动画逐字在大屏上亮起。本文带你走 Foli音视频前端桌面应用Horizon 路线图前瞻微软登录、干净室着色器包与 AI 队友下一个版本将带来什么Horizon 路线图前瞻微软登录、干净室着色器包与 AI 队友下一个版本将带来什么 Horizon 是一个用 Rust 从零重写的 Minecraft:Parchment 路线图前瞻从 v1.1 到 v2.0Room、DataStore 与 EPUB 支持的演进计划全解析Parchment 路线图前瞻从 v1.1 到 v2.0Room、DataStore 与 EPUB 支持的演进计划全解析 Parchment 是一款专为 A上一篇Taskmaster AI 完整指南如何将需求文档拆解为 AI 可执行的任务清单下一篇ExplorerPatcher速通指南5分钟还原Win10经典任务栏与开始菜单附排障清单创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考