GameMaker着色器中的HDR和色调映射
2025-09-19
本文探讨了在GameMaker中使用着色器处理高动态范围(HDR)颜色问题。由于GameMaker默认使用8位无符号归一化颜色,在处理高亮度场景时,例如太阳着色器,容易出现颜色溢出和色彩失真。作者通过对比6位和浮点颜色,以及几种常见的色调映射函数(ACES、Uncharted2、Unreal和tanh),展示了如何避免颜色钳制导致的视觉瑕疵。文章还以MandelBots项目为例,说明了在复杂光照系统中使用HDR表面(surface_rgba16float)的必要性,以提高颜色精度和混合效果。
开发
GameMaker