|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
public interface IVideoRenderSupport
| メソッドの概要 | |
|---|---|
void |
copy(IVideoBuffer src,
IVideoBuffer dst)
引数 src のバッファが保持する画像を、引数 dst のバッファにコピーします。 |
IVideoBuffer |
createVideoBuffer(VideoBounds bounds)
引数 bounds の位置とサイズ、コンテキストの色深度でビデオ用バッファを作成します。 |
IVideoBuffer |
createVideoBuffer(VideoBounds bounds,
ColorMode colorMode)
引数 bounds の位置とサイズ、引数 colorMode の色深度でビデオ用バッファを作成します。 |
void |
ortho2D(IVideoBuffer output)
output.getBounds() の矩形領域全体が視体積にちょうど収まるように平行投影の設定を行います
(ビューポートと投影行列が設定されます。 |
void |
ortho2D(VideoBounds bounds)
bounds の矩形領域全体が視体積にちょうど収まるように平行投影の設定を行います
(ビューポートと投影行列が設定されます。 |
void |
polygon2D(double[][][] contours,
IVideoBuffer output,
IVideoBuffer... input)
|
void |
polygon2D(double[][][] contours,
VideoBounds bounds,
double[][]... texCoords)
|
void |
quad2D(double left,
double top,
double right,
double bottom,
double[][]... texCoords)
|
void |
quad2D(IVideoBuffer output,
IVideoBuffer... input)
|
void |
quad2D(VideoBounds bounds,
double[][]... texCoords)
|
IVideoBuffer |
useFramebuffer(java.lang.Runnable operation,
int pushAttribs,
IVideoBuffer output,
IVideoBuffer... input)
output のテクスチャをフレームバッファの出力先とし、operation の処理を実行します。 |
IVideoBuffer |
useShaderProgram(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
IVideoBuffer output,
IVideoBuffer... input)
program のシェーダプログラムを使用して output.getBounds()
の矩形を描画し、output に結果を出力します。 |
IVideoBuffer |
useShaderProgram(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
java.lang.Runnable operation,
int pushAttribs,
IVideoBuffer output,
IVideoBuffer... input)
program のシェーダプログラムを使用して operation の処理を実行します。 |
void |
useShaderProgramMRT(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
IVideoBuffer[] output,
IVideoBuffer... input)
useShaderProgram(IShaderProgram, Collection, IVideoBuffer, IVideoBuffer...) |
void |
useShaderProgramMRT(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
java.lang.Runnable operation,
int pushAttribs,
IVideoBuffer[] output,
IVideoBuffer... input)
useShaderProgram(IShaderProgram, Collection, Runnable, int, IVideoBuffer, IVideoBuffer...) |
| メソッドの詳細 |
|---|
IVideoBuffer createVideoBuffer(VideoBounds bounds)
bounds の位置とサイズ、コンテキストの色深度でビデオ用バッファを作成します。
bounds - 作成するビデオ用バッファの位置とサイズ
IVideoBuffer createVideoBuffer(VideoBounds bounds,
ColorMode colorMode)
bounds の位置とサイズ、引数 colorMode の色深度でビデオ用バッファを作成します。
bounds - 作成するビデオ用バッファの位置とサイズcolorMode - 作成するビデオ用バッファの色深度
IVideoBuffer useFramebuffer(java.lang.Runnable operation,
int pushAttribs,
IVideoBuffer output,
IVideoBuffer... input)
output のテクスチャをフレームバッファの出力先とし、operation の処理を実行します。
input は可変長引数で、0番目がテクスチャ番号0に、1番目がテクスチャ番号1に、N番目がテクスチャ番号Nにバインドされます。
また、テクスチャマッピングは有効な状態となります。
このメソッドは operation の処理の前後で glPushAttrib / glPopAttrib を呼び出し、
OpenGL の状態を保存/復帰します。pushAttribs はその際 glPushAttrib に渡されるビットマスクです。
(実際には pushAttribs のビットに加え、いくつかのビットが追加されて glPushAttrib が呼び出されますが、
その動作に依存して pushAttribs の設定を省略してはいけません。operation
の処理で変更される可能性がある状態に対しては、必ず pushAttribs のビットを設定してください。)
output に null を指定した場合、input
の最初のバッファと同じ位置とサイズで出力バッファが作成され、戻り値に返されます。
input に何も指定しないこともできますが、output に null
を指定した場合は1つ以上 input が必要です。
operation - フレームバッファを使用して行う処理pushAttribs - operation の処理前後で保存/復帰する OpenGL の状態を指定するビットマスクoutput - フレームバッファの出力先となるバッファinput - operation の処理時にバインドされるバッファ
output が null の場合は新たに作成されたバッファ、そうでない場合は output
IVideoBuffer useShaderProgram(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
java.lang.Runnable operation,
int pushAttribs,
IVideoBuffer output,
IVideoBuffer... input)
program のシェーダプログラムを使用して operation の処理を実行します。
uniforms はシェーダプログラムへ渡す Uniform 変数のコレクションです。
operation, pushAttribs, output および input は
useFramebuffer(Runnable, int, IVideoBuffer, IVideoBuffer...) の引数とほぼ同じですが、
テクスチャマッピングは有効にならないことが異なります (テクスチャのバインドは行われます) 。
program - operation の処理の際に使用するシェーダプログラムuniforms - シェーダプログラムへ渡す Uniform 変数のコレクションoperation - シェーダプログラムを使用して実行する処理pushAttribs - operation の処理前後で保存/復帰する OpenGL の状態を指定するビットマスクoutput - 出力バッファinput - operation の処理時にバインドされるバッファ
output が null の場合は新たに作成されたバッファ、そうでない場合は output
void useShaderProgramMRT(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
java.lang.Runnable operation,
int pushAttribs,
IVideoBuffer[] output,
IVideoBuffer... input)
useShaderProgram(IShaderProgram, Collection, Runnable, int, IVideoBuffer, IVideoBuffer...)
のマルチレンダーターゲット(MRT)版です。program にはMRTを使用したシェーダプログラムを指定します。
output には、シェーダプログラムが使用するレンダーターゲットと同じ数の出力バッファを指定します。
program は、MRTを使用しないシェーダプログラムでも構いません。
その場合、output に指定できる出力バッファは1つだけです。
program - operation の処理の際に使用するシェーダプログラムuniforms - シェーダプログラムへ渡す Uniform 変数のコレクションoperation - シェーダプログラムを使用して実行する処理pushAttribs - operation の処理前後で保存/復帰する OpenGL の状態を指定するビットマスクoutput - 出力バッファの配列input - operation の処理時にバインドされるバッファ
IVideoBuffer useShaderProgram(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
IVideoBuffer output,
IVideoBuffer... input)
program のシェーダプログラムを使用して output.getBounds()
の矩形を描画し、output に結果を出力します。このとき output.getBounds()
の領域全体がちょうど視体積に収まるように ortho2D(IVideoBuffer) で平行投影されます。
useShaderProgram(IShaderProgram, Collection, Runnable, int, IVideoBuffer, IVideoBuffer...)
と同様にテクスチャのバインドが行われます。また、output と各 input
の位置関係を元にテクスチャ座標が設定されます。
output に null を指定した場合、input
の最初のバッファと同じ位置とサイズで出力バッファが作成され、戻り値に返されます。
input に何も指定しないこともできますが、output に null
を指定した場合は1つ以上 input が必要です。
program - シェーダプログラムuniforms - シェーダプログラムへ渡す Uniform 変数のコレクションoutput - 出力バッファinput - 入力バッファ
output が null の場合は新たに作成されたバッファ、そうでない場合は output
void useShaderProgramMRT(IShaderProgram program,
java.util.Collection<javax.media.opengl.GLUniformData> uniforms,
IVideoBuffer[] output,
IVideoBuffer... input)
useShaderProgram(IShaderProgram, Collection, IVideoBuffer, IVideoBuffer...)
のマルチレンダーターゲット(MRT)版です。program にはMRTを使用したシェーダプログラムを指定します。
output には、シェーダプログラムが使用するレンダーターゲットと同じ数の出力バッファを指定します。
program は、MRTを使用しないシェーダプログラムでも構いません。
その場合、output に指定できる出力バッファは1つだけです。
program - シェーダプログラムuniforms - シェーダプログラムへ渡す Uniform 変数のコレクションoutput - 出力バッファの配列input - 入力バッファvoid ortho2D(IVideoBuffer output)
output.getBounds() の矩形領域全体が視体積にちょうど収まるように平行投影の設定を行います
(ビューポートと投影行列が設定されます。またモデルビュー行列は単位行列に初期化されます) 。
これは ortho2D(output.getBounds()) と同じです。
output - 平行投影の対象領域を持つビデオバッファortho2D(VideoBounds)void ortho2D(VideoBounds bounds)
bounds の矩形領域全体が視体積にちょうど収まるように平行投影の設定を行います
(ビューポートと投影行列が設定されます。またモデルビュー行列は単位行列に初期化されます) 。
bounds - 平行投影の対象領域ortho2D(IVideoBuffer)
void quad2D(IVideoBuffer output,
IVideoBuffer... input)
void quad2D(VideoBounds bounds,
double[][]... texCoords)
void quad2D(double left,
double top,
double right,
double bottom,
double[][]... texCoords)
void polygon2D(double[][][] contours,
IVideoBuffer output,
IVideoBuffer... input)
void polygon2D(double[][][] contours,
VideoBounds bounds,
double[][]... texCoords)
void copy(IVideoBuffer src,
IVideoBuffer dst)
src のバッファが保持する画像を、引数 dst のバッファにコピーします。
src の getBounds メソッドが返す矩形に対応する
dst 内の領域にコピーされます。この矩形が dst 内に収まらない場合、
dst 内に収まる部分だけがコピーされます。
src - コピー元のバッファdst - コピー先のバッファ
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||