目次 - SDL 3.0 API(機能別) - 2Dレンダリング

2Dレンダリング

概要

SDL 2Dレンダリング関数のヘッダファイルである.

このAPIには次の機能に対応している:

基本的な描画は不透明, ブレンド, 加算モードが可能である.

テクスチャイメージは不透明, ブレンド, 加算モードによる描画が可能である. 色合いの追加, アルファ変調を適応でき, 線形補完による拡大も可能である.

このAPIは単純な2D描画のアクセラレートのために設計されている. 3Dポリゴンやパーティクルエフェクトのようなさらに進んだ機能は, SDLのOpenGL/Direct3D, SDL3のGPU API, 数多くある優秀な3Dエンジンなどを使う必要がある.

このAPIの関数はメインスレッドから呼ぶ必要がある. このバグについてはhttps://github.com/libsdl-org/SDL/issues/986を参照すること.

関数

  1. SDL_AddVulkanRenderSemaphores - 現在のフレームに同期セマフォを追加する
  2. SDL_ConvertEventToRenderCoordinates - イベント構造体の座標をレンダリングの座標に変換する
  3. SDL_CreateGPURenderer - 2D GPUレンダリングコンテキストを生成する
  4. SDL_CreateGPURenderState - GPUレンダリング状態を生成する
  5. SDL_CreateRenderer - ウィンドウの2Dレンダリングコンテキストを生成する
  6. SDL_CreateRendererWithProperties - プロパティを指定してウィンドウの2Dレンダリングコンテキストを生成する
  7. SDL_CreateSoftwareRenderer - サーフェイスの2Dソフトウェアレンダリングコンテキストを作成する
  8. SDL_CreateTexture - レンダリングコンテキストのテクスチャを生成する
  9. SDL_CreateTextureFromSurface - サーフェイスからテクスチャを生成する
  10. SDL_CreateTextureWithProperties - プロパティを指定してレンダリングコンテキストのテクスチャを生成する
  11. SDL_CreateWindowAndRenderer - ウィンドウとデフォルトのレンダラを生成する
  12. SDL_DestroyGPURenderState - カスタムGPUレンダリング状態を破棄する
  13. SDL_DestroyRenderer - ウィンドウのレンダリングコンテキストと関連のテクスチャを破棄する
  14. SDL_DestroyTexture - テクスチャを破棄する
  15. SDL_FlushRenderer - レンダリングコンテキストに保留中のコマンドと状態を強制的に掃き出す
  16. SDL_GetCurrentRenderOutputSize - 現在のレンダリングコンテキストの出力サイズをピクセル数で得る
  17. SDL_GetDefaultTextureScaleMode - 指定のレンダラのデフォルトの拡大縮小モードを得る
  18. SDL_GetGPURendererDevice - レンダラが使用しているGPUデバイスを得る
  19. SDL_GetNumRenderDrivers - 組み込まれた2Dレンダリングドライバの数を得る
  20. SDL_GetRenderClipRect - 現在のレンダーターゲットのクリップ枠を得る
  21. SDL_GetRenderColorScale - 描画で使われる色倍率を得る
  22. SDL_GetRenderDrawBlendMode - 描画時のブレンドモードを得る
  23. SDL_GetRenderDrawColor - 描画(長方形, 線分, 消去)で使われている色を得る
  24. SDL_GetRenderDrawColorFloat - 描画(長方形, 線分, 消去)で使われている色を得る
  25. SDL_GetRenderDriver - 組み込まれた2Dレンダリングドライバの名前を得る
  26. SDL_GetRenderer - ウィンドウに関連付けられたレンダラを得る
  27. SDL_GetRendererFromTexture - テクスチャを生成したレンダラを得る
  28. SDL_GetRendererName - レンダラの名前を得る
  29. SDL_GetRendererProperties - レンダラに関連付けられたプロパティを得る
  30. SDL_GetRenderLogicalPresentation - レンダリングのデバイスに依存しないサイズと表示モードを得る
  31. SDL_GetRenderLogicalPresentationRect - レンダリングの最終的な表示領域を得る
  32. SDL_GetRenderMetalCommandEncoder - 現在のフレームのMetalコマンドエンコーダを得る
  33. SDL_GetRenderMetalLayer - MetalレンダラのCAMetalLayerを得る
  34. SDL_GetRenderOutputSize - レンダリングコンテキストの出力サイズをピクセル数で得る
  35. SDL_GetRenderSafeArea - レンダラの現在の表示領域のセーフエリアを得る
  36. SDL_GetRenderScale - 現在のレンダーターゲットの描画の拡大率を得る
  37. SDL_GetRenderTarget - 現在のレンダーターゲットを得る
  38. SDL_GetRenderTextureAddressMode - SDL_RenderGeometry()で使用されるテクスチャのアドレッシングモードを得る
  39. SDL_GetRenderViewport - 現在のレンダーターゲットの描画領域を得る
  40. SDL_GetRenderVSync - レンダラの垂直同期の方法を得る
  41. SDL_GetRenderWindow - レンダラに関連付けられたウィンドウを得る
  42. SDL_GetTextureAlphaMod - レンダのコピー操作で乗算されるα値を得る
  43. SDL_GetTextureAlphaModFloat - レンダのコピー操作で乗算されるα値を得る
  44. SDL_GetTextureBlendMode - テクスチャのコピー操作で使われるブレンドモードを得る
  45. SDL_GetTextureColorMod - レンダのコピー操作で各色成分に乗算される値を得る
  46. SDL_GetTexturePalette - テクスチャのパレットを得る
  47. SDL_GetTextureColorModFloat - レンダのコピー操作で各色成分に乗算される値を得る
  48. SDL_GetTextureProperties - テクスチャに関連付けられたプロパティを得る
  49. SDL_GetTextureScaleMode - テクスチャの拡大縮小で使われるモードを得る
  50. SDL_GetTextureSize - テクスチャのサイズを浮動小数点で得る
  51. SDL_LockTexture - ピクセルの書込専用アクセスのためにテクスチャの一部をロックする
  52. SDL_LockTextureToSurface - ピクセルの書込専用アクセスのためにテクスチャの一部をロックしてSDLサーフェイスとする
  53. SDL_RenderClear - 現在のレンダーターゲットを色で塗りつぶして消去する
  54. SDL_RenderClipEnabled - 指定のレンダラでクリップが有効かチェックする
  55. SDL_RenderCoordinatesFromWindow - ウィンドウの座標をレンダリングの座標に変換する
  56. SDL_RenderCoordinatesToWindow - レンダリングの座標をウィンドウの座標に変換する
  57. SDL_RenderDebugText - SDL_Rendererにデバッグ用テキストを描く
  58. SDL_RenderDebugTextFormat - SDL_Rendererにデバッグ用テキストを描く
  59. SDL_RenderFillRect - レンダーターゲットに描画色で塗りつぶしたサブピクセルの精度の長方形を描く
  60. SDL_RenderFillRects - レンダーターゲットに描画色で塗りつぶしたサブピクセルの精度の複数の長方形を描く
  61. SDL_RenderGeometry - 三角形の一覧をレンダリングする
  62. SDL_RenderGeometryRaw - 三角形の一覧をレンダリングする
  63. SDL_RenderLine - レンダーターゲットにサブピクセルの精度の線分を描く
  64. SDL_RenderLines - レンダーターゲットにサブピクセルの精度の線分を描く
  65. SDL_RenderPoint - レンダーターゲットにサブピクセルの精度の点を描く
  66. SDL_RenderPoints - レンダーターゲットにサブピクセルの精度の複数の点を描く
  67. SDL_RenderPresent - レンダリングの結果を画面に反映する
  68. SDL_RenderReadPixels - 現在のレンダーターゲットのピクセルデータを読み込む
  69. SDL_RenderRect - レンダーターゲットにサブピクセルの精度の長方形を描く
  70. SDL_RenderRects - レンダーターゲットにサブピクセルの精度の複数の長方形を描く
  71. SDL_RenderTexture - テクスチャの一部を現在のレンダーターゲットにサブピクセルの精度でコピーする
  72. SDL_RenderTexture9Grid - テクスチャの一部を現在のレンダーターゲットに9-grid algorithmを使用して拡大縮小してサブピクセルの精度でコピーする
  73. SDL_RenderTexture9GridTiled - テクスチャの一部を現在のレンダーターゲットに9-grid algorithmを使用して拡大縮小してサブピクセルの精度でコピーする
  74. SDL_RenderTextureAffine - テクスチャの一部を現在のレンダーターゲットにアフィン変換を適用してサブピクセルの精度でコピーする
  75. SDL_RenderTextureRotated - テクスチャの一部を現在のレンダーターゲットに回転と反転を行いサブピクセルの精度でコピーする
  76. SDL_RenderTextureTiled - テクスチャの一部を現在のレンダーターゲットにサブピクセルの精度でコピーする
  77. SDL_RenderViewportSet - 現在のレンダーターゲットに描画領域を表す長方形が設定されているかチェックする
  78. SDL_SetDefaultTextureScaleMode - 指定のレンダラのデフォルトの拡大縮小モードを設定する
  79. SDL_SetGPURenderState - カスタムGPUレンダリング状態を設定する
  80. SDL_SetGPURenderStateFragmentUniforms - カスタムGPUレンダリング状態のフラグメントシェーダのユニフォーム変数を設定する
  81. SDL_SetRenderClipRect - レンダーターゲットにクリップ領域を設定する
  82. SDL_SetRenderColorScale - 描画で使われる色倍率を設定する
  83. SDL_SetRenderDrawBlendMode - 描画(塗りつぶしと線分)時のブレンドモードを設定する
  84. SDL_SetRenderDrawColor - 描画(長方形, 線分, 消去)で使う色を設定する
  85. SDL_SetRenderDrawColorFloat - 描画(長方形, 線分, 消去)で使う色を設定する
  86. SDL_SetRenderLogicalPresentation - レンダリングのデバイスに依存しない論理サイズと表示モードを設定する
  87. SDL_SetRenderScale - 現在のレンダーターゲットの描画の拡大率を設定する
  88. SDL_SetRenderTarget - レンダラの現在のレンダーターゲットを設定する
  89. SDL_SetRenderTextureAddressMode - SDL_RenderGeometry()で使用するテクスチャのアドレッシングモードを設定する
  90. SDL_SetRenderViewport - 現在のレンダーターゲットの描画領域を設定する
  91. SDL_SetRenderVSync - レンダラの垂直同期の方法を設定する
  92. SDL_SetTextureAlphaMod - レンダのコピー操作で乗算されるα値を設定する
  93. SDL_SetTextureAlphaModFloat - レンダのコピー操作で乗算されるα値を設定する
  94. SDL_SetTextureBlendMode - SDL_RenderTexture()で使用するテクスチャのブレンドモードを設定する
  95. SDL_SetTextureColorMod - レンダのコピー操作で各色成分に乗算される値を設定する
  96. SDL_SetTextureColorModFloat - レンダのコピー操作で各色成分に乗算される値を設定する
  97. SDL_SetTexturePalette - テクスチャのパレットを設定する
  98. SDL_SetTextureScaleMode - テクスチャの拡大縮小で使用するモードを設定する
  99. SDL_UnlockTexture - 必要なら変更をビデオメモリに反映させるためにテクスチャのロックを解除する
  100. SDL_UpdateNVTexture - Planar NV12またはNV21テクスチャの領域を新しいピクセルデータで更新する
  101. SDL_UpdateTexture - テクスチャの領域を新しいピクセルデータで更新する
  102. SDL_UpdateYUVTexture - Planar YV12またはIYUVテクスチャの領域を新しいピクセルデータで更新する

  1. SDL_GPURenderState - カスタムGPUレンダリング状態の不透明型
  2. SDL_Renderer - レンダラの状態の型

構造体

  1. SDL_GPURenderStateCreateInfo - GPUレンダリング状態の生成時のパラメータの構造体
  2. SDL_Texture - ドライバ固有に効率化されたピクセルデータの構造体
  3. SDL_Vertex - 頂点の構造体

列挙体

  1. SDL_RendererLogicalPresentation - 論理サイズと出力の対応方法の列挙体
  2. SDL_TextureAccess - テクスチャのアクセスパターンの列挙体
  3. SDL_TextureAddressMode - テクスチャのSDL_RenderGeometry()で使用されるアドレッシングモードの列挙体

マクロ

  1. SDL_DEBUG_TEXT_FONT_CHARACTER_SIZE - SDL_RenderDebugText()の文字のピクセル数のマクロ
  2. SDL_GPU_RENDERER - GPUレンダラの名前のマクロ
  3. SDL_SOFTWARE_RENDERER - ソフトウェアレンダラの名前のマクロ

SDL Wikiへのリンク

SDL3/CategoryRender - SDL Wiki