目次 - 3.関数 - 3.4レンダラー

3.4 レンダラー

これらの関数はTTF_Fontを使って文字列をレンダリングする. レンダリングには4つのモードがある:

ベタ(Solid)
速いが荒い
8bitパレットカラーのサーフェイスを生成し, 指定の文字列を指定のフォントと色で高速にレンダリングする. ピクセル値0はカラーキーで, コピー時には背景になる. ピクセルは1で, パレットの1番目にはテキストの前景色が設定される. それにより再びテキストをレンダリングせずに色を変えられる. パレットの0番目はカラーキーなので透明で, 実際は255から前景色のRGBのそれぞれの値を引いた色だが, 別のサーフェイスにコピーする場合は描画されない. このモードのレンダリングが最も速い. 結果として背景色で囲まれていないが, テキストは滑らかではない. 生成されたサーフェイスは混合(Blended)のサーフェイスより速くコピーできる. このモードはFPSを使っていて, 他より速く画面を更新できる.
陰影(Shaded)
高品質だがベタ塗りの中にある
8bitパレットカラーのサーフェイスを生成し, 指定の文字列を指定のフォントと色で高品質にレンダリングする. ピクセル値0は背景で, 他のピクセル値は背景色から前景色に段階的に変化する色である. 結果として前景色のテキストの周りを背景色が囲んでいる. テキストはアンチエイリアスされている. このモードのレンダリングはベタ(Solid)より遅いが, 混合(Blend)モードと同じ速さである. 生成されたサーフェイスはベタ(Solid)と同じ速さでコピーできる. 高品質なテキストが必要で, 背景色で囲まれていてよければこのモードを使うとよい.
混合(Blended)
最も遅いが最も高品質
32bit ARGBのサーフェイスを生成し, 指定の文字列を指定のフォントと色でαブレンドしてレンダリングする. 結果としてサーフェイスはα透過で, テキストの周りをベタの色が囲んでいない. テキストはアンチエイリアスされている. ベタ(Solid)モードより遅いが, 陰影(Shaded)と同じ速さでレンダリングする. 生成されたサーフェイスの画面へのコピーはベタ(Solid)や陰影(Shaded)よりも遅い. 高品質が必要で, テキストがあまり変わらないときは, このモードを使うとよい.
LCDサブピクセル
LCDのピクセルを構成する赤・緑・青の発光源の単位でアンチエイリアスを行いレンダリングする
生成されるサーフェイスは混合モードと同じ.

ベタ(Solid)

  1. TTF_RenderText_Solid - LATIN1テキストをベタ塗りモードで描く
  2. TTF_RenderText_Solid_Wrapped - LATIN1テキストをベタ塗りモードで描く(改行あり)
  3. TTF_RenderUTF8_Solid - UTF8テキストをベタ塗りモードで描く
  4. TTF_RenderUTF8_Solid_Wrapped - UTF8テキストをベタ塗りモードで描く(改行あり)
  5. TTF_RenderUNICODE_Solid - UNICODEテキストをベタ塗りモードで描く
  6. TTF_RenderUNICODE_Solid_Wrapped - UNICODEテキストをベタ塗りモードで描く(改行あり)
  7. TTF_RenderGlyph_Solid - UNICODEグリフをベタ塗りでモード描く
  8. TTF_RenderGlyph32_Solid - UNICODEグリフをベタ塗りでモード描く(32ビットUNICODE)

陰影(Shaded)

  1. TTF_RenderText_Shaded - LATIN1テキストを陰影モードで描く
  2. TTF_RenderText_Shaded_Wrapped - LATIN1テキストを陰影モードで描く(改行あり)
  3. TTF_RenderUTF8_Shaded - UTF8テキストを陰影モードで描く
  4. TTF_RenderUTF8_Shaded_Wrapped - UTF8テキストを陰影モードで描く(改行あり)
  5. TTF_RenderUNICODE_Shaded - UNCODEテキストを陰影モードで描く
  6. TTF_RenderUNICODE_Shaded_Wrapped - UNCODEテキストを陰影モードで描く(改行あり)
  7. TTF_RenderGlyph_Shaded - UNICODEグリフを陰影モードで描く
  8. TTF_RenderGlyph32_Shaded - UNICODEグリフを陰影モードで描く(32ビットUNICODE)

混合(Blended)

  1. TTF_RenderText_Blended - LATIN1テキストを混合モードで描く
  2. TTF_RenderText_Blended_Wrapped - LATIN1テキストを混合モードで描く(改行あり)
  3. TTF_RenderUTF8_Blended - UTF8テキストを混合モードで描く
  4. TTF_RenderUTF8_Blended_Wrapped - UTF8テキストを混合モードで描く(改行あり)
  5. TTF_RenderUNICODE_Blended - UNICODEテキストを混合モードで描く
  6. TTF_RenderUNICODE_Blended_Wrapped - UNICODEテキストを混合モードで描く(改行あり)
  7. TTF_RenderGlyph_Blended - UNICODEグリフを混合モードで描く
  8. TTF_RenderGlyph32_Blended - UNICODEグリフを混合モードで描く(32ビットUNICODE)

LCDサブピクセル

  1. TTF_RenderText_LCD - LATIN1テキストをLCD画質で描く
  2. TTF_RenderText_LCD_Wrapped - LATIN1テキストをLCD画質で描く(改行あり)
  3. TTF_RenderUTF8_LCD - UTF-8テキストをLCD画質で描く
  4. TTF_RenderUTF8_LCD_Wrapped - UTF-8テキストをLCD画質で描く(改行あり)
  5. TTF_RenderUNICODE_LCD - UNICODEテキストをLCD画質で描く
  6. TTF_RenderUNICODE_LCD_Wrapped - UNICODEテキストをLCD画質で描く(改行あり)
  7. TTF_RenderGlyph_LCD - UNICODEグリフをLCD画質で描く
  8. TTF_RenderGlyph32_LCD - UNICODEグリフをLCD画質で描く(32ビットUNICODE)

原文へのリンク

3.4 Render