编程与软件工程ventspace.wordpress.com
游戏画面为何糟糕:HDR 与色调映射
Games Look Bad: HDR and Tone Mapping
2017 — 2025,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这是《Games Look Bad》系列的第一篇,围绕 HDR 与色调映射讨论游戏画面为何常显得不自然:高动态范围内容需要适配对比度有限的显示设备,处理不当就会出现过度饱和、过曝或观感失真。文章从技术和视觉观感层面解释色调映射在游戏渲染中的作用。
为什么经久不衰:HDR 与色调映射是理解游戏画面和显示设备差异的基础问题,文中关于动态范围、显示限制与观感的讨论多年后仍有参考价值。
HN 评论精选
过饱和是对差显示设备的补偿,屏幕变好后游戏和照片会趋向更真实。
很多过饱和问题可以归咎于糟糕的显示设备。想想早期 Instagram:大家都用糟糕的超饱和滤镜,因为早期智能手机屏幕太差,在阳光下很容易发白;用过饱和来补偿,能让照片在差屏幕甚至阳光下也好看。早期游戏同理。玩家喜欢《魔兽世界》的鲜艳色彩,因为当时显示器差,而且长时间游戏时亮色更容易看。即使今天,我的现代电视在阳光下也很糟。我很喜欢《塞尔达传说:旷野之息》的柔和色彩,但不得不承认,如果不拉窗帘,阳光照到电视上就很难看清。我认为随着玩家屏幕变好,会逐渐从夸张亮度转向更真实,就像 Instagram 从补偿差屏幕转向 #nofilter。
NathanKP查看英文原文
A lot of the oversaturation problem can be attributed to bad displays. Think about early Instagram. Everyone used terrible super saturated filters on their photos because the early smart phone screens were so bad, and got washed out so easily in the sunlight. By overcompensating with filters you got a photo that looked good on a bad screen, even in sunny conditions. The same was true of early games. Gamers love the bright colors of World of Warcraft for instance because displays were bad, and it was easier to watch bright colors for hours on end while gaming. Even today my modern TV looks pretty bad in the sunlight. As much as I love the muted colors of Breath of the Wild I have to admit that without closing my curtains its really hard to tell what's going on if a sunbeam is hitting the TV. I think as gamer's screens get better we will start to see a transition away from exaggerated brightness and a trend toward more realism, just like Instagram has transitioned largely from a platform that overcompensated for bad smartphone screens to a #nofilter style.
GTA 的画面平衡比文中示例更好。
这篇文章让我更欣赏《GTA》所达到的平衡。个人认为这种场景比文中展示的任何例子都好:http://prod.hosted.cloud.rockstargames.com/ugc/gta5photo/YjB4SamD3UmQ1HF7Qf1bsg_0_0.jpg
vinistois查看英文原文
This article makes me appreciate the balance struck in GTA. IMHO this type of scene is better than any of the examples shown in the article: http://prod.hosted.cloud.rockstargames.com/ugc/gta5photo/YjB4SamD3UmQ1HF7Qf1bsg_0_0.jpg
质疑位数与亮度范围的关系,认为核心限制在显示屏对比度。
我不理解这句话:“我们需要 20 位来表示 [1,000,000:1 的范围]”。为什么表示一个大范围需要一定数量的位?你可以用任意位数编码一个范围,但位数越少,范围内的分辨率可能越低。表示大亮度范围不是分辨率问题吧?问题是屏幕无法呈现 1,000,000:1 的对比度。即使用一千位表示同一亮度范围,也不能解决核心问题,不是吗?那为什么位数重要?我不是图形程序员,真心提问,不是说文章错了!
chrisseaton查看英文原文
> We would need 20 bits of just luminance to represent [the range 1,000,000:1 I don't understand this statement. Why do you need a certain number of bits to represent a large range? You can encode a range using any number of bits you want, but if you use fewer bits the resolution within may be lower. Representing a large luminance range isn't a problem of resolution though is it? It's a problem of presenting that contrast ratio on a screen that is not capable of a contrast ratio of 1,000,000:1. If I represented the same luminance range with a thousand bits it doesn't do anything to solve the core problem, does it? So why does the number of bits matter? Not a graphics programmer, so genuinely asking, not saying the article is wrong!
批评文章只描述问题,未给出可操作建议,教育性不足。
我觉得这篇文章没有起到教育读者的作用。听起来都很有趣,但我什么也没学到。它在技术限制和无知之间来回归因,我更希望看到如何解决其中任一问题的建议。
ndh2查看英文原文
I feel like this post does nothing in terms of educating readers. It all sounds very interesting, but I didn't learn anything. It alters between putting the blame on technical limitations and ignorance, so I would have liked to see a suggestion on how to address either of these.
历次讨论
同类还值得读
开源应用架构
The Architecture of Open Source Applications
《开源软件架构》(AOSA)是一本在线免费书,邀请知名开源项目的作者亲自剖析其内部设计,涵盖 SQLAlchemy、LLVM、Audacity、Apache、Bash 等系统。
编程与软件工程上首页 9 次 · 2011–2024aosabook.org编辑精选编程语言简史:简短、不完整且多半错误
A Brief, Incomplete, and Mostly Wrong History of Programming Languages
一篇以戏谑、故意不准确的方式回顾编程语言史的博客文章,用夸张轶事和讽刺定义串起 Lisp、C、C++、Java、JavaScript、PHP 等语言。
编程与软件工程上首页 8 次 · 2009–2021james-iry.blogspot.comSQLite 是如何测试的
How SQLite is tested
SQLite 官方文档页,系统介绍 SQLite 的测试体系:多种测试方法(TCL 测试、模糊测试、回归测试、静态分析等)和海量测试用例,展示了这个小型开源项目如何靠极致测试获得…
编程与软件工程上首页 8 次 · 2009–2025sqlite.org编辑精选高级编程语言(2009)
Advanced programming languages (2009)
Matt Might 的经典文章,按用途推荐“高级编程语言”:如果追求就业就选主流语言,如果追求表达力、学术研究或创业,则推荐 Haskell、OCaml、Scala 等函数式语…
编程与软件工程上首页 8 次 · 2009–2022matt.might.net我的 Forth 与栈机器经历
Yosefk - My history with Forth & stack machines
作者以亲身经历回顾了使用 Forth 语言和栈式机器的历程:既赞叹其简洁优雅、代码量小、可自举的优点,也坦率指出栈操作在实际编程中的痛苦,以及 Forth 社区文化中的问题。
编程与软件工程上首页 8 次 · 2010–2024yosefk.com编辑精选