O exemplo deste artigo descreve o método de implementação do mapeamento de textura OpenGL ES. Compartilhe para todos para sua referência. Os detalhes são os seguintes:
1. Arquivo Glrenderer.java:
PACOLEMENTO DA PACONE.OBVAM.OPNDL; Renderizador de implementação do GLRENDO {Private Square; ); Gl.glTranslatef (0,0f, 0,0f, -5.0f); ); == 0) {// Evite uma divisão por zero por altura = 1; O projeto matriz gl.glloadidIdIntity (); GL.GLMATRIXMODE (GL10.GL_MODELVEIRO); .loadgltexture (GL, this.Context); , 0.5f); Tipo de teste de profundidade para fazer // cálculos de perspectiva muito agradáveis, gl10.gl_nicest);}}2. Arquivo Square.java:
PACOLE DA PACKVEL.OBVAM.OPENS; Android.graphics.bitmapFactory; -Bottom Esquerda -1.0f, 1.0f, 0,0f, // v2 -top esquerdo 1.0f, -1.0f, 0,0f, // v3 -bottom direito 1.0f, 1.0f // v4 -top direito}; Texturebuffer; 1.0f, 1.0f, // canto superior direito (v4) 1.0f, 0.0f // inferior direito (v3)}; // um float possui 4 bytes, por isso alocamos cada bytebuffer coordenal de 4 bytebuffer = bytebuffer.alocatedirect (vertices.length * 4); bytebuffer.asfloatbuffer (); * 4); Param context */ public void loadgltexture (GL10 GL, contexto de contexto) {// Carregando textura bitmap = bitmapfa ctory.DecoderResource (context.getResources (), r.drawable.android); , Texturas, 0); .gl_nearest); comer) ; ; Texturas [0]); nosso buffer de vértice gl.glvertexpointer (3, gl10.gl_float, 0, vertexbuffer); 0, vértices.Length /3);3. Triângulo.java Arquivo:
PACOLE DA PACKVIDO.OBVAM.OPENS; Vértices flutuantes [] = {-0.5f, -0.5f, 0.0f, // v1 -primeiro vértice (x, y, z) 0,5f, -0,5f, 0,0f, // v2 -secunda vertex 0,0f, 0,5 F, 0,0F // V3 -Terceiro Vertex // 1.0f, 0,5f, 0,0f // V3 -Terceiro vértice}; alocada (vértices.Length * 4); / Defina a posição do cursor no início do buffer vertexbuffer.Positation (0);} / ** O método de desenho para o triângulo com o contexto GL* / public void Draw (GL10 GL) {GL.GlenableClientState (GL10.GL_VERTEX_ARAY) ; .gl_color_buffer_bit); Desenhe os vértices como triagem de triângulo GL.GLDRAWARRAYS (GL10.GL_TRIANGLE_STRIP, 0, VERTICES.LENGENS / / 3);4. RUN.Java Arquivo:
PACOLE DA PACK.OBVAM.OPENS; * *A Visualização OpenGL */ Private GlsurfaceView GlsurfaceView;/ ** Chamado quando a atividade é definida pela primeira vez. Window. / Defina nosso renderizador como o renderizador principal com // o contexto de atividade atual GLSURFAVEVEVE.SETRENDERER (this); .onResume ();
Espera -se que este artigo seja útil para o design do programa Java de todos.