Difference between revisions of "CanvasFormat (日本語)"

m
(注釈)
 
(One intermediate revision by the same user not shown)
Line 17: Line 17:
 
}}
 
}}
 
{{New feature (日本語)|0.10.0|
 
{{New feature (日本語)|0.10.0|
;r8: 単一チャンネル (赤色の要素) 形式です (8 bpp)。
+
;r8: 単一チャンネル (赤色の成分) 形式です (8 bpp)。
;rg8: チャンネル (16 bpp) 当たり 8 bit の 2 チャンネル (赤色と青色の要素) 形式です。
+
;rg8: チャンネル (16 bpp) 当たり 8 bit の 2 チャンネル (赤色と青色の成分) 形式です。
 
;r16f: 浮動小数点による単一チャンネル形式 (16 bpp)。色の値は [-65504, +65504] の範囲までです。
 
;r16f: 浮動小数点による単一チャンネル形式 (16 bpp)。色の値は [-65504, +65504] の範囲までです。
 
;rg16f: チャンネル (32 bpp) 当たり 16 bit の浮動小数点による 2 チャンネル形式です。色の値は [-65504, +65504] の範囲までです。
 
;rg16f: チャンネル (32 bpp) 当たり 16 bit の浮動小数点による 2 チャンネル形式です。色の値は [-65504, +65504] の範囲までです。
Line 25: Line 25:
  
 
== 注釈 ==
 
== 注釈 ==
16 bpp  RGB および RGBA 形式は 32 bpp RGBA 形式と比較すると半分ほどの VRAM を使用しますが、通常よりも著しく低品質です。
+
16 bpp  RGB および RGBA 形式は 32 bpp RGBA 形式と比較すると VRAM 消費量は約半分になりますが、通常よりも著しく低品質です。
  
ピクセルシェーダーと組み合わせたときに HDR / 浮動小数点形式は非常に有用です。ブルームによる配色マップ化された HDR といったエフェクトは遂行することができ、またはキャンバスへ正常なものを描画する限りカスタムシェーダーにて使用される位置といったもので Canvas へ任意の配色ではないデータを格納するために使用することができます。
+
ピクセルシェーダーとの組み合わせ時、 HDR / 浮動小数点形式は非常に有用です。ブルームによる配色マップ化された HDR といったエフェクトは遂行することができ、またはキャンバスへ正常なものを描画する限りカスタムシェーダーにて使用される位置といったもので Canvas へ任意の配色ではないデータを格納するために使用することができます。
  
上級者向けの話題ですが色空間は混同しやすいので、ガンマ補正表示を行う場合は sRGB 形式のみ使用すべきです。これが必要かどうかわからない場合は、避けたいと思うかもしれません。ガンマ補正レンダリングに関する詳しい情報は [http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html ここ]、[http://filmicgames.com/archives/299 ここ]、あと [http://renderwonk.com/blog/index.php/archive/adventures-with-gamma-correct-rendering/ ここ]をお読み下さい。
+
上級者向けの話題ですが、色空間は混同しやすいので、ガンマ補正表示を行う場合は sRGB 形式のみ使用すべきです。これが必要かどうかわからない場合は、避けたいと思うかもしれません。ガンマ補正レンダリングに関する詳しい情報は [http://http.developer.nvidia.com/GPUGems3/gpugems3_ch24.html ここ]、[http://filmicgames.com/archives/299 ここ]、あと [http://renderwonk.com/blog/index.php/archive/adventures-with-gamma-correct-rendering/ ここ]をお読み下さい。
  
 
全てのシステムで各形式に対応しているとは限りません。 Canvas の作成前に [[love.graphics.getCanvasFormats (日本語)|love.graphics.getCanvasFormats]] を使用して確認してください。
 
全てのシステムで各形式に対応しているとは限りません。 Canvas の作成前に [[love.graphics.getCanvasFormats (日本語)|love.graphics.getCanvasFormats]] を使用して確認してください。

Latest revision as of 00:19, 10 October 2019

LÖVE 0.9.0 から使用可能
この列挙型は以前のバージョンでは非対応です。
LÖVE 11.0 で廃止予定
PixelFormat へ変更されました。

Canvas の形式。

定数

normal
標準 Canvas 形式 ― 通常は rgba8 形式、または LÖVE 0.10.0 以降でガンマ補正表示が有効ならば srgb の別名です。
hdr
高解像度の内容に適している形式です。 - 通常は、 rgba16f 形式に対する別名です。
LÖVE 0.9.2 から利用可能
rgba8
RGBA チャンネル (32 bpp) 当たり 8 bit です。色チャンネルの値は 0 から 255 (シェーダーは 0 から 1 まで) までの範囲です。
rgba4
RGBA チャンネル (16 bpp) 当たり 4 bit です。
rgb5a1
RGB チャンネル当たり 5 bit であり、 1 bit の透過チャンネルです (16bpp)。
rgb565
それぞれ、赤色 (R) は 5 bit、緑色 (G) は 6 bit、および青色 (B) は 5 bit から構成されている RGB です (16 bpp)。この形式には透過色 (A) チャンネルはありません。
rgb10a2
RGB チャンネル当たり 10 bit であり、 2 bit の透過チャンネルです (32bpp)。
rgba16f
チャンネルあたり 16 bit の浮動小数点を使用した RGBA です(64 bpp)。色の範囲値は [-65504, +65504] まで選択することができます。
rgba32f
チャンネルあたり 32 bit の浮動小数点を使用した RGBA です(128 bpp)。
rg11b10f
浮動小数点を使用した RGB であり赤色および緑色チャンネルは 11 bit であり、青色チャンネルは 10 bit (32bpp) です。透過チャンネルはありません。色の値の範囲は [0, +65024] までを選択することができます。
srgb
rgba8 と同じですが、 Canvas は sRGB 色空間として解釈されます。 Canvas へ描画されたものは全て線形 RGB から sRGB へ変換されます。 Canvas 描画(またはシェーダーにて使用される)時に、 sRGB から 線形 RGB へ復号化されます。これは sRGB による符号化において、さらに深い暗色に対しては線形 RGB よりもっと多くの精度があるため、ガンマ補正表示を行う場合に、色の帯域を削減します。


LÖVE 0.10.0 から利用可能
r8
単一チャンネル (赤色の成分) 形式です (8 bpp)。
rg8
チャンネル (16 bpp) 当たり 8 bit の 2 チャンネル (赤色と青色の成分) 形式です。
r16f
浮動小数点による単一チャンネル形式 (16 bpp)。色の値は [-65504, +65504] の範囲までです。
rg16f
チャンネル (32 bpp) 当たり 16 bit の浮動小数点による 2 チャンネル形式です。色の値は [-65504, +65504] の範囲までです。
r32f
浮動小数点による単一チャンネル形式 (32 bpp)。
rg32f
チャンネル (64 bpp) 当たり 32 bit の浮動小数点による 2 チャンネル形式です。


注釈

16 bpp RGB および RGBA 形式は 32 bpp RGBA 形式と比較すると VRAM 消費量は約半分になりますが、通常よりも著しく低品質です。

ピクセルシェーダーとの組み合わせ時、 HDR / 浮動小数点形式は非常に有用です。ブルームによる配色マップ化された HDR といったエフェクトは遂行することができ、またはキャンバスへ正常なものを描画する限りカスタムシェーダーにて使用される位置といったもので Canvas へ任意の配色ではないデータを格納するために使用することができます。

上級者向けの話題ですが、色空間は混同しやすいので、ガンマ補正表示を行う場合は sRGB 形式のみ使用すべきです。これが必要かどうかわからない場合は、避けたいと思うかもしれません。ガンマ補正レンダリングに関する詳しい情報は ここここ、あと ここをお読み下さい。

全てのシステムで各形式に対応しているとは限りません。 Canvas の作成前に love.graphics.getCanvasFormats を使用して確認してください。

一般に、 rgba8, rgba4 および rgb5a1 は全てのシステムで対応しています。同じく rgb10a2 は全てのデスクトップ・プラットフォームで対応しています。

通常の単一または 2 チャンネル形式 (r8 および rg8) は、 srgb 形式と同じく、 OpenGL 3 以降 / DirectX 10 以降を扱えるデスクトップシステムのグラフィックス・カード (nvidia GeForce 8000 series シリーズ以降、 ATI/AMD HD 2000 シリーズ以降、および Intel HD 2000 シリーズ以降) および OpenGL ES 3 を扱えるモバイル機器に搭載されている GPU で対応しています。

浮動小数点形式 (rgba16f, rgba32f, rg11b10f, r16f, rg16f, r32f, and rg32f) は OpenGL 3 を扱えるデスクトップシステムのグラフィックス・カード、および OpenGL ES 3 を扱えるモバイル機器で対応しています。チャンネル当たり 32bit の浮動小数点形式はモバイル機器において滅多に対応していません。

rgb565 は多くの場合において OpenGL ES に対応したモバイル機器、または非常に新しいデスクトップ OpenGL ドライバでのみ対応しています。

関連



そのほかの言語