OpenGLES2.0を使った三角形ポリゴンの描画

OpenGLES2.0を使い、簡単な頂点シェーダとピクセルシェーダを使って三角形をAndroid上で描画するアプリを作成しました。

メインアクティビティです。
描画先であるGLSurfaceViewの作成と、カスタムレンダーの登録を行い、
コンテントビューに作成した GLSurfaceViewを設定しています。
カメラ用の行列 を作成し、0.5秒間隔で15度ずつカメラが回転するようにループを回しています。

描画する三角形クラスです、
頂点データ、シェーダコードはKotlinコードに直書きです。
頂点シェーダでは渡された各頂点座標と行列を掛け合わせ最終的な
描画座標を計算しています。
色情報は加工せずにピクセルシェーダに渡しています。
ピクセルシェーダでは頂点シェーダから渡された頂点色を
そのまま使っています。

描画用に GLSurfaceView.Rendererを継承したクラスを作成
このクラスが三角形クラスのDrawを呼び画面に描画します。
onSurfaceCreatedで三角形クラスのインスタンスを作成。
onSurfaceChangedでサーフェイスビューの幅、高さを元に
射影行列を作成しています。
onDrawFrameではバッファを不透明白色でクリアし、
三角形を描画しています。

MatrixManagerクラスはカメラ(ビュー行列、射影行列)管理用のクラスです。

水曜担当:Tanaka




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム