示波器上的震动:一份技术报告

主要观点:将 Quake 1 渲染在日立 V - 422 示波器上,介绍在调试过程中遇到的问题及解决方案,包括测试、渲染线条、获取向量化、速度、未解决问题等方面。
关键信息:

  • 用 Processing 编写简单 XY - 示波器模拟器,添加磷衰减模拟使 Youscope 渲染清晰。
  • 示波器 XY 模式通过改变电压随时间绘制形状,画线时要保持速度恒定。
  • 用音频输出两个电压,选择 ASIO 或 PortAudio 作为音频后端,解决音频相关问题。
  • 采用进程间通信,通过命名管道获取 Quake 游戏的几何数据进行渲染。
  • 进行剔除操作以减少冗余线条,用深度缓冲检查隐藏遮挡线。
  • 音频合成有一定 CPU 开销,总延迟可调整,目前屏幕同时显示约 1000 条线。
  • 存在低频率噪声问题,可能是声卡原因,有多种改进建议。
    重要细节:
  • 测试阶段先编写模拟器,后将系统音频输出与示波器模拟器连接验证。
  • 音频输出频率高导致音频输出跟不上,增加线条绘制时间会增加延迟和闪烁。
  • 改进建议包括使用带直流耦合输出的音频接口、用 VGA 作为 DAC、重采样信号等。
  • 提供视频和音频录制,以及相关代码和文章历史修改记录。
  • 参考资料包括 Darkplaces 源端口网站和 Jed Margolin 的相关文章。
阅读 10
0 条评论