L'exemple de cet article décrit la méthode d'implémentation de mappage de texture OpenGl ES. Partagez-le pour tout le monde pour votre référence. Les détails sont les suivants:
1. Fichier glrenderer.java:
Package Network.Obviam.opndl; Glrender Image de rendu {Square Private Square; // le contexte privé carré; ();}} @Override public void odrawFrame (GL10 GL) {// Écran et de profondeur de profondeur gl.glClear (GL10.GL_BUFFER_BIT | GL10 .GL_DEPTH_BUFFER_BIT); Gl.gltranslatef (0,0f, 0,0f, -5.0f); )); == 0) {// Empêchez une division par zéro par hauteur = 1; La matrice du projet GL.GlloadidIntity (); ; .LoadGlTexture (GL, this.contex , 0,5f); Type de test de profondeur à faire // des calculs de perspective vraiment sympas, GL10.gl_nicest);}}2. Fichier carré.java:
Package Network.Obviam.OpenD; Android.graphics.bitmapfactory; -Bottom gauche -1.0f, 1.0f, 0,0f, // v2 -top gauche 1.0f, -1.0f, 0,0f, // v3 -bottom à droite 1.0f, 1.0f // V4 -Top à droite}; TextureBuffer; 1.0f, 1.0f, // en haut à droite (v4) 1.0f, 0,0f // en bas à droite (v3)}; // un flotteur a 4 octets, nous allalisons donc pour chaque coordination 4 bytebuffer bytebuffer = bytebuffer.AllocateIrct (vertices.length * 4); ByteBuffer.asfloatBuffer (); * 4); Param Context * / public void LoadGlTexture (GL10 GL, contexte de contexte) {// Chargement de la texture bitmap = bitmapfa ctory.decodeResource (context.getResources (), R.Drawable.Android); , Textures, 0); .gl_nearest); ; ; Textures [0]); Notre tampon Vertex Gl.Glvertexpointer (3, GL10.gl_float, 0, vertexbuffer); 0, vertices.length / 3);3. Fichier triangle.java:
Package Network.Obviam.OpenD; Vertices de float [] = {-0,5f, -0,5f, 0,0f, // v1-premier vertex (x, y, z) 0,5f, -0,5f, 0,0f, // V2 -seconde sommet 0,0f, 0,5 F, 0,0f // V3 -Tirt Vertex // 1,0f, 0,5f, 0,0f // V3 -Tirt Vertex}; Public Triangle () {// Un flotteur a 4 par we alloch coordonnée 4 octets Bytebuffer vertexytebuffer = bytebuffer. allocatedIrct (vertices.length * 4); / Définissez la position du curseur sur le début du tampon vertexbuffer.positation (0);} / ** la méthode de dessin pour le triangle avec le contexte GL * / public void Draw (GL10 GL) {GL.GlenableClientState (GL10.GL_VERTEX_ARAY) ; .gl_color_buffer_bit); Dessinez les sommets en tant que triangle Gl.glDrawArrays (GL10.gl_triangle_strip, 0, vertices.length / / 3);4. Fichier Run.java:
Package Network.Obviam.OpenD; 11 Windows. / Définissez notre rendu pour être le principal rendu avec // le contexte d'activité actuel glSurfaceView.SetRenderer (this); .Onresume (); GLSURFACEVEVEL.Onresume ();} / ** * Pause le GLSURFACE * / @Override Protected onPause () {Super.Onpause (); GlSurfaceView.onPause ();On espère que cet article est utile à la conception du programme Java de tous.