スプライト(Sprite)

SAMPLE https://www.dropbox.com/s/e7vnlwbg6nez3dn/sprite.exe( スプライト ) https://www.dropbox.com/s/7d38qnasjpvbqy0/particle.exe( 加算処理のスプライト ) https://www.dropbox.com/s/n1ixus41j82gqjf/action_1.exe( . ) POINT 再利用性を高めるためにクラスにまとめること
# define W 1024 # define H 512 App::onDraw() { glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); // 3Dシーンの描画 draw3D(); // デプステストを無効にする。 glDisable( GL_DEPTH_TEST ); // テクスチャの透明色の部分を透過させるためブレンディングを有効にする glEnable( GL_BLEND ); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // 2Dを描画するための変換行列を設定する // 画面サイズと同じ大きさの等角投影を設定しておくと、スプライト位置の指定が簡単になる。 // 奥行きは適当。 glMatrixMode( GL_PROJECTION ); glLoadIdentity(); glOrtho( 0, W, 0, H, 0, 1 ); // モデルビュー変換は不要 glMatrixMode( GL_MODELVIEW ); glLoadIdentity(); // スプライトテクスチャを描画して FPS を描画 glEnable( GL_TEXTURE_2D ); glBindTexture( GL_TEXTURE_2D, id ); }



スプライトを利用したGUIボタン

SAMPLE https://www.dropbox.com/s/zkc3yiuwed4lt5l/gui.exe( GUIボタン )