|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface IVideoRenderSupport
メソッドの概要 | |
---|---|
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)
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |