OpenGLES-Tips
をテンプレートにして作成
Check
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Tips]]
* OpenGLES関連のTIPS [#dac91632]
- テクスチャブレンディング--2枚のテクスチャを使って乗算...
** テクスチャブレンディング--2枚のテクスチャを使って乗算...
- 既存のテクスチャを実行時に加工したいときに使う。マスク...
- オペレーションを帰ると、エフェクトやバンプマップなどに...
- テクスチャブレンディングを行うと、描画処理が2割ほど遅...
*** 初期化(一度だけやれば良い) [#n6bed0f9]
// 通常のテクスチャ設定
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture_handle);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CL...
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CL...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, G...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, G...
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image_width,ima...
// 2 枚目のテクスチャ設定
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texture_handle);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CL...
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CL...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, G...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, G...
// テクスチャのオペレーション設定
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBI...
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_PREVIOUS);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
// 元に戻す
glActiveTexture(GL_TEXTURE0);
** 描画時の処理 [#eb1e12a5]
glEnable(GL_TEXTURE_2D);
glVertexPointer(3, GL_FLOAT, 0, vertices); ...
glEnableClientState(GL_VERTEX_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texcoords0); ...
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glClientActiveTexture(GL_TEXTURE1);
glActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
glTexCoordPointer(2, GL_FLOAT, 0, texcoords1); ...
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawArrays(GL_TRIANGLES, 0, vertex_count);
glDisable(GL_TEXTURE_2D);
glClientActiveTexture(GL_TEXTURE0);
glActiveTexture(GL_TEXTURE0);
終了行:
[[Tips]]
* OpenGLES関連のTIPS [#dac91632]
- テクスチャブレンディング--2枚のテクスチャを使って乗算...
** テクスチャブレンディング--2枚のテクスチャを使って乗算...
- 既存のテクスチャを実行時に加工したいときに使う。マスク...
- オペレーションを帰ると、エフェクトやバンプマップなどに...
- テクスチャブレンディングを行うと、描画処理が2割ほど遅...
*** 初期化(一度だけやれば良い) [#n6bed0f9]
// 通常のテクスチャ設定
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture_handle);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CL...
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CL...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, G...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, G...
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image_width,ima...
// 2 枚目のテクスチャ設定
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texture_handle);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CL...
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CL...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, G...
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, G...
// テクスチャのオペレーション設定
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBI...
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_MODULATE);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC0_RGB, GL_PREVIOUS);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND0_RGB, GL_SRC_COLOR);
glTexEnvi(GL_TEXTURE_ENV, GL_SRC1_RGB, GL_TEXTURE);
glTexEnvi(GL_TEXTURE_ENV, GL_OPERAND1_RGB, GL_SRC_COLOR);
// 元に戻す
glActiveTexture(GL_TEXTURE0);
** 描画時の処理 [#eb1e12a5]
glEnable(GL_TEXTURE_2D);
glVertexPointer(3, GL_FLOAT, 0, vertices); ...
glEnableClientState(GL_VERTEX_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texcoords0); ...
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glClientActiveTexture(GL_TEXTURE1);
glActiveTexture(GL_TEXTURE1);
glEnable(GL_TEXTURE_2D);
glTexCoordPointer(2, GL_FLOAT, 0, texcoords1); ...
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawArrays(GL_TRIANGLES, 0, vertex_count);
glDisable(GL_TEXTURE_2D);
glClientActiveTexture(GL_TEXTURE0);
glActiveTexture(GL_TEXTURE0);
ページ名: