目次 - SDL 3.0 API(機能別) - ピクセル形式と変換

ピクセル形式と変換

概要

SDLはピクセル操作の機能を提供している.

これらの機能は主にこのビットは何を表しているか等のピクセル形式を扱う.

ピクセルを赤, 緑, 青, さらにα値(透明度)の組み合わせとしたいだけならば非常に簡単で, 多くの場合はこれで充分である.

しかし, 実際のピクセルの定義はより複雑である:

ピクセルは特定の色空間で表される.

色空間は表色系で異なる. SDLは2つの表色系, RGBとYCbCr(SDLではYUVとも呼ばれる)を認識する.

RGB系には赤, 緑, 青の色チャネルがあり, これらを合わせて画面上の色とする.

https://ja.wikipedia.org/wiki/RGB

YCbCr系は色を輝度と赤・青彩度のオフセット値として表す. この表色系は人間の目は色よりも明るさに対して敏感であることを利用している. 通常, CbとCrは輝度よりも低い分解能として圧縮されている.

https://ja.wikipedia.org/wiki/YUV

色情報がYCbCrで圧縮されている場合, ピクセルのYには完全な分解能があり, CrとCbはYブロックの色情報の平均値で表される. 彩度位置は色情報のピクセル上のブロック位置を決める.

色範囲はピクセルをディスプレイ上の色に変換する場合に, どの程度ピクセルを使用するかを決める. 完全な色範囲を使用した場合, ピクセルのビット数が表せる範囲の全体が有効になる. 狭めた色範囲を使用した場合, 歴史的な理由で, ピクセルは色を表すために数値の一部のみを使用する.

原色と白色点は, 標準XYZ色空間に対する色空間における色を定義する.

https://ja.wikipedia.org/wiki/CIE_1931_色空間

伝送特性, または光電伝達関数(OETF)は, 色を線形空間から非線形空間の出力信号に数学的に変換する方法である.

https://ja.wikipedia.org/wiki/Rec._709#伝達特性

行列係数はYCbCr表色系とRGB表色系の変換に使用される.

関数

  1. SDL_CreatePalette
  2. SDL_DestroyPalette
  3. SDL_GetMasksForPixelFormat
  4. SDL_GetPixelFormatDetails
  5. SDL_GetPixelFormatForMasks
  6. SDL_GetPixelFormatName
  7. SDL_GetRGB
  8. SDL_GetRGBA
  9. SDL_MapRGB
  10. SDL_MapRGBA
  11. SDL_MapSurfaceRGB
  12. SDL_MapSurfaceRGBA
  13. SDL_SetPaletteColors

構造体

  1. SDL_Color
  2. SDL_FColor
  3. SDL_Palette
  4. SDL_PixelFormatDetails

列挙体

  1. SDL_ArrayOrder
  2. SDL_BitmapOrder
  3. SDL_ChromaLocation
  4. SDL_ColorPrimaries
  5. SDL_ColorRange
  6. SDL_Colorspace
  7. SDL_ColorType
  8. SDL_MatrixCoefficients
  9. SDL_PackedLayout
  10. SDL_PackedOrder
  11. SDL_PixelFormat
  12. SDL_PixelType
  13. SDL_TransferCharacteristics

マクロ

  1. SDL_ALPHA_OPAQUE
  2. SDL_ALPHA_OPAQUE_FLOAT
  3. SDL_ALPHA_TRANSPARENT
  4. SDL_ALPHA_TRANSPARENT_FLOAT
  5. SDL_BITSPERPIXEL
  6. SDL_BYTESPERPIXEL
  7. SDL_COLORSPACECHROMA
  8. SDL_COLORSPACEMATRIX
  9. SDL_COLORSPACEPRIMARIES
  10. SDL_COLORSPACERANGE
  11. SDL_COLORSPACETRANSFER
  12. SDL_COLORSPACETYPE
  13. SDL_DEFINE_COLORSPACE
  14. SDL_DEFINE_PIXELFORMAT
  15. SDL_DEFINE_PIXELFOURCC
  16. SDL_ISCOLORSPACE_FULL_RANGE
  17. SDL_ISCOLORSPACE_LIMITED_RANGE
  18. SDL_ISCOLORSPACE_MATRIX_BT2020_NCL
  19. SDL_ISCOLORSPACE_MATRIX_BT601
  20. SDL_ISCOLORSPACE_MATRIX_BT709
  21. SDL_ISPIXELFORMAT_10BIT
  22. SDL_ISPIXELFORMAT_ALPHA
  23. SDL_ISPIXELFORMAT_ARRAY
  24. SDL_ISPIXELFORMAT_FLOAT
  25. SDL_ISPIXELFORMAT_FOURCC
  26. SDL_ISPIXELFORMAT_INDEXED
  27. SDL_ISPIXELFORMAT_PACKED
  28. SDL_PIXELFLAG
  29. SDL_PIXELLAYOUT
  30. SDL_PIXELORDER
  31. SDL_PIXELTYPE

SDL Wikiへのリンク

SDL3/CategoryPixels - SDL Wiki