love.graphics.newCubeImage (日本語)
LÖVE 11.0 から使用可能 |
この関数は以前のバージョンでは非対応です。 |
この関数は love.update または love.draw などから繰り返し呼び出すと動作が重くなることがあります。もし、特定の資源を何度も使う必要がある場合は、一括で作成と格納を行うことで効率的に再利用できます! |
キューブマップによる画像は六面 (辺) から成るのキューブ (立方体) です。キューブマップによる画像は直接描画することはできませんが、 Shader のコード (および Shader:send によるシェーダーへの送信) に限り使用できます。
シェーダでキューブマップによる画像を使うには、 CubeImage
また samplerCube
(Image
や sampler2D
ではなく) 型で宣言してください。シェーダ関数 Texel(CubeImage image, vec3 direction)
はキューブマップからピクセルの色を取得するために使用してください。引数 vec3 は明示的なテクスチャ座標ではなく、キューブの中心からの方向で正規化が行われます。
必ずキューブマップの各面は正方形の寸法にしてください。
この関数の異形ではキューブマップの複数面を有する画像を適用できますが、必ず次の形式から画像の配置を選択してください:
+y
+z +x -z
-y
-x
または:
+y
-x +z +x -z
-y
あるいは:
+x
-x
+y
-y
+z
-z
さもなくば:
+x -x +y -y +z -z
関数
キューブマップの複数面を有する画像ファイルを指定してキューブマップによる画像を作成します。
概要
image = love.graphics.newCubeImage( filename, settings )
引数
string filename
- キューブマップによる画像ファイルのファイルパス (または File, FileData, または ImageData)。
table settings (nil)
- キューブマップによる画像の構成するためのオプションの設定用テーブルには下記のフィールドがあります:
boolean mipmaps (false)
- True で画像の作成にミップマップを使用しますが、 false ならば無効にします。画像が圧縮形式のテクスチャでなければ自動的にミップマップを生成します。
boolean linear (false)
- True ならば、love.graphics.isGammaCorrect (日本語)|ガンマ補正レンダリングの有効時に画像のピクセルを sRGB ではなく線形で扱います。ほとんどの画像は sRGB で作成されています。
返値
Image image
- キューブマップによる画像のオブジェクト。
関数
キューブマップの各面で使う画像ファイルを複数枚指定してキューブマップによる画像を作成します。
概要
image = love.graphics.newCubeImage( faces, settings )
引数
table faces
- 配列として、六枚の画像ファイルのファイルパス (または File, FileData, ImageData, or CompressedImageData オブジェクト) を有するテーブル。必ず各面の画像は同一寸法にしてください。テーブルにはテーブルを指定することもできるため、サブテーブルのキューブ面のインデックスでサブテーブルごとのミップマップレベルをすべて有しています。
table settings (nil)
- キューブマップによる画像の構成するためのオプションの設定用テーブルには下記のフィールドがあります:
boolean mipmaps (false)
- True で画像の作成にミップマップを使用しますが、 false ならば無効にします。画像が圧縮形式のテクスチャでなければ自動的にミップマップを生成します。
boolean linear (false)
- True ならば、love.graphics.isGammaCorrect (日本語)|ガンマ補正レンダリングの有効時に画像のピクセルを sRGB ではなく線形で扱います。ほとんどの画像は sRGB で作成されています。
返値
Image image
- キューブマップによる画像のオブジェクト。
関連