この記事の例では、OpenGL ESテクスチャマッピングを実装する方法について説明します。あなたの参照のために全員のためにそれを共有してください。詳細は次のとおりです。
1。Glrenderer.javaファイル:
Package.opndl.microcing.eglodition.khronos.gl1 Glrender Implemerements renderer {プライベートスクエア();}} @Override public void odrawframe(gl10 gl){// clear clear buffer gl.glclear(gl10.gl_buffer_bit | gl10 .gl_depth_buffer_bit); gl.gltranslatef(0.0f、0.0f、-5.0f); ); //正方形を50%にスケーリングします。 == 0){//高さによる除算= 1;プロジェクトMatrix GL.GlloAdidIdintity(); ; gl.glmatrixmode(gl10.gl_modelview); .loadgltexture(gl、this.context); 、0.5f); DETIEのタイプ//本当に素晴らしい視点計算、gl10.gl_nicest);}}2。square.javaファイル:
package.opengl.nio.nio.nio.floatbuffer; Android.graphics.bitmapfactory; -bottom左-1.0f、1.0f、0.0f、// v2 -top左1.0f、-1.0f、0.0f、// v3 -bottom右1.0f、1.0f // v4 -top右}; TextureBuffer; 1.0f、1.0f、//右上(V4)1.0f //下部右(V3)}; //フロートには4バイトがあるため、各座標4 bytebuffer = bytebuffer.allocatedirect(lents.length * 4)に割り当てられます。 bytebuffer.asfloatbuffer(); * 4); PARAMコンテキスト */ public loadgltexture(gl10 gl、コンテキストコンテキスト){//テクスチャビットマップのロード= bitmapfa ctory.decoderesource(context.getResources()、r.drawable.android); 、テクスチャ、0); .gl_nearest); )) ; // gl.gltexparameterf(gl10.gl_texture_2d、gl10.gl_texture_wrap_t.gl_repeat)。 ; // bitmap.recycle();} / ** glコンテキストの描画方式* / public void draw(gl10 gl){//以前に生成されたテクスチャgl.glbindtexture(gl10.gl_texture_2d、テクスチャ[0];頂点バッファーGL.GlvertExpointer(3、Gl10.gl_float、0、vertexcoordpointer(2、gl10.gl_float、0、texturebufuf fer); 0、垂直 /3);3。Triangle.javaファイル:
package.obviam.nio.nio.nio.nio.floatbuffer; float頂点[] = {-0.5f、-0.5f、0.0f、///v1 -first Vertex(x、y、z)0.5f、-0.5f、0.0f、// v2 -second頂点0.0f、0.5 f、0.0f // V3 -Shird Vertex // 1.0f、0.0f // V3 -Third Vertex}; Allocatedirect(length * 4); /バッファーVertexbuffer.Positation(0);} / ** CRUSOR位置をBIERTEXBUFFER.POSITAL(0);} / ** GLコンテキストを使用した三角形の描画方法* / public void Draw(gl10 gl){gl.glenableclientState(gl10.gl_vertex_aray) ; .gl_color_buffer_bit);トライアングルストリップとして頂点を描く(gl10.gl_triangle_strip、0、vertices.length / / 3);4。run.javaファイル:
Package.opengl.app.pengl.glsurid.os.vi.window.window.windowmanager; * *Private GlsurfaceView GlsurfaceView; feature_no_title); /レンダラーをメインレンダラーに設定します.Onresume();
この記事がすべての人のJavaプログラムのデザインに役立つことが期待されています。