Android OpenGL 最初の一歩用Tips(1.1)

今回はOpenGLをはじめるに当たって、チップスとしては点在しているのだけど、
意味がなんとなくわからないものをまとめてみました。

※勉強しながらの部分です。間違っていたら申し訳ありません。

 

■毎描画の初期化

openGLで、毎フレームで描画を行うが、その度に新しい描画にする為、最初に全体を特定の色で描画するなどの対処が必要

gl.glClear(GL10._GL_COLOR_BUFFER_BIT);

で画面の全体を黒に塗る事ができる。

色を変更する場合は

//glColor(R,G,B,alpha);
gl.glColor(0,0,1.0f,0);
gl.glClear(GL10._GL_COLOR_BUFFER_BIT);

としてglColorを設定する事で任意の色で塗る事が可能

 

■描画用メソッド

OpenGLには、さまざまな形を表示するメソッドが存在。

GL_LINES:独立した線

GL_LINE_STRIP:連続した直線

GL_LINE_LOOP:最初と最後の点が結ばれた連続した線

GL_TRIANGLES:三角形を書く
(a,b,c,d,e,f,g,h,i);
のような配列に対して
(a,b,c)(d,e,f)(g,h,i)
のようなセットで三角形を作成

GL_TRIANGLE_STRIP:三角形を書く
(a,b,c,d,e,f,g,h,i);
のような配列に対して
(a,b,c)(b,c,d)(c,d,e)(d,e,f)(e,f,g)(f,g,h)(g,h,i);
のような三角形を作成(つながった三角形ができる。)

GL_TRIANGLE_FAN:三角形を書く
(a,b,c,d,e,f,g,h,i);
のような配列に対して
(a,b,c)(a,c,d)(a,d,e)(a,e,f)(a,f,g)(a,g,h)(a,h,i)
のような三角形を作成(つながった三角形ができる。)

GL_QUADS:四角形を書く

GL_QUADS_STRIP:四角形を書く

GL_POLYGON:多角形を書く。

上記で、図形がいろいろと描けるのだが、GL_QUADS、GL_POLYGONに関しては、内側の内角が180度を超える図形を描く事ができない。
また、動作の処理に関しても重い事があり、多くの場合はGL_TRIANGLESを利用して図形を描く。

 

■3D表示用の準備

3Dを扱う場合
glFrustrum:遠くのものは小さく、近くのものは大きく
glOrtho:遠近はない代わりに断面的な表示ができる。

glTranslatef(x,y):平行移動
glRotatef(x,y,z):回転
glScalef(x,y,z):スケールの変更

 

■3D表示を行う場合の質感について

Ambient:照らされ方
Diffuse:拡散光
Speculear:金属的な感じ
Shiniess:光の反射具合
Emission:発光

 

■テクスチャの使用の仕方。

step1.

Bitmapの用意

Bitmap bmp = ***;

 

step2.

テクスチャの準備

gl.glGemTextures(1,textureArray,0);
gl.glBindTexture(GL10.GL_TEXTURE_2D,textureArray[0]);
//textureArrayはintの配列。

step3.

テクスチャを適用

GLUtils.texImage2D(GL10.GL_TEXTURE_2D,0,bmp,0);

また、下記の設定もする事ができるようです。

GL_TEXTUREMIN_FILTER:テクスチャが縮小される場合
GL_TEXTURE_MAG_FILTER:テクスチャが拡大する場合

での表示の仕方を下記のどちらかに設定する。

GL_LINEER:色の変わり目を滑らかにする。
GL_NEAREST:色の変わり目をぱっつんとする。

 

上記のでは、少しわかりずらい部分ではありましたが、後ほど、理解が深まった時点でキャッチアップしてみたいと思います。

 

  • written on 2012.01.13
  • category : OpenGL

前後の記事

前の記事:

次の記事:

関連の記事

コメントの投稿

  • サイト内検索

新作アプリの紹介

関連サイトの紹介

アンドロイドアプリ開発TIPS
きぐるみカメラ
ふらいぱん
アンドロイドのデザイン集
Page top↑