「半精度浮動小数点数」の版間の差分

19行目: 19行目:
これは本物の写真のような自然画ならともなく、色の偏ったアニメ調の絵や現実離れしたCGだと最悪256色しか表現できないケースがあったためである。
これは本物の写真のような自然画ならともなく、色の偏ったアニメ調の絵や現実離れしたCGだと最悪256色しか表現できないケースがあったためである。


これに対して[[NVIDIA]]は2002年ごろにRGB各16ビットの浮動小数点数で表すという手法を発表した。
これに対して[[NVIDIA]]は2002年ごろに「RGB各16ビットの浮動小数点数で表す」という手法を発表した。
この手法はRGB表現で32ビット整数より1.5倍の48ビットの帯域を必要とし、絵は綺麗になるがレンダリングが死ぬほど遅いという問題点を抱えていた。
この手法はRGB表現で32ビット整数より1.5倍の48ビットの帯域を必要とし、絵は綺麗になるがレンダリングが死ぬほど遅いという問題点を抱えていた。


一方、[[ATI]](現[[AMD]])からはRGB各10ビットの浮動小数点で表すという手法が登場した(Radeon X三桁シリーズ)。
一方、[[ATI]](現[[AMD]])からはRGB各10ビットの浮動小数点で表すという手法が登場した(Radeon X三桁シリーズ)。
この手法は計32ビットであるため現状の[[ハードウェア]]への負荷の差はなく有利であったが、10ビット刻みとか常識的に考えて[[プログラマ]]が死ぬほど扱いにくいという問題点を抱えていた。
この手法は計30ビットであるため当時の[[ハードウェア]]への負荷の差はなく有利であったが、「10ビット刻み」は[[プログラマ]]が死ぬほど扱いにくいという問題点を抱えていた。


まさに典型的なNVIDIAとAMDの争いのひとつで時代背景的には[[PS3]]と[[Xbox 360]]がモロに直撃していた。最終的には当時ゲーム開発で広く使われていた「[[C言語]]に半精度浮動小数点数などない」という問題もあったが、NVIDIAが勝手に「half型」を拡張搭載した言語を出したりしたことと、[[ハードウェア]]技術が進歩したことでNVIDA方式を力押しする手法が一般化し、そのフォーマットを標準化した[[OpenEXR]]なるものが登場して現在に至っている。現在では[[OpenGL]]や[[Direct3D]]にも採用されている。
まさに典型的なNVIDIAとAMDの争いのひとつであり、時代背景的には[[PS3]]と[[Xbox 360]]がモロに直撃していた。
 
この問題を解決すべく、NVIDIAが「half型」を搭載した独自のプログラミング言語と、それに対応した[[ハードウェア]]を発表し、そのフォーマットを標準化した[[OpenEXR]]なるものが登場して現在に至っている。
現在では[[OpenGL]]や[[Direct3D]]にも採用されている。


== 関連項目 ==
== 関連項目 ==