free-tibet Posté(e) 2 mars 2012 Share Posté(e) 2 mars 2012 (modifié) bonjour, je suis en possession d'une tablette asus tf01 sur laquelle la dernière mise à jour l'a fait passer sous Android 4.0.3. Je suis en train de dévelloper un jeu à partir du moteur 2D/3D OpenGl Es j'étais très bien partis sauf que depuis cette mise à jour, l'ajout de texture ne fonctionne plus. j'ai tout essayer, tous les tuto que j'ai trouvé et j'ai essayé avec tout les versions de projet disponibles et j'ai aussi essayé tous les versions du sdk minimal " <uses-sdk android:minSdkVersion="15" />" du manifest. ce qui m’énerve c'est que ça fonctionne sous l'émulateur ! j'ai donc fais un tout petit projet affichant un cube, tout fonctionne sauf quand j'ajoute les textures. voici mon code d'ajout de texture qui fonctionne sous l'émulateur. Dans la méthode onSurfaceCreated() de la classe GLSurfaceView.Renderer gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); gl.glEnable(GL10.GL_TEXTURE_2D); Dans la méthode OnDrawFrame() de la classe GLSurfaceView.Renderer: gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY); gl.glEnable(GL10.GL_TEXTURE_2D); Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher); GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bmp, 0); gl.glTexParameterx(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_LINEAR); gl.glTexParameterx(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MAG_FILTER,GL10.GL_LINEAR); bmp.recycle(); Dans la méthode de dessin du cube, OnDraw() de la classe Cube: gl.glEnable(GL10.GL_TEXTURE_2D); gl.glTexCoordPointer(2, GL10.GL_FIXED, 0, mTextureBuffer); avec mTextureBuffer, initialisé comme suit: ByteBuffer tbb = ByteBuffer.allocateDirect(texCoords.length * 4); tbb.order(ByteOrder.nativeOrder()); mTextureBuffer = tbb.asIntBuffer(); mTextureBuffer.put(texCoords); mTextureBuffer.position(0); avec texCoords, position des textures. Inutile de le montré car ça fonctionne sous l'émulateur je pense peut être à une méthode d'activation des textures manquantes ou alors une option à activer sous la tablette, j'aimerais aussi savoir si ce problème interviens uniquement avec ma tablette ou avec toutes les tf01 sous 4.0.3 ou alors sous tous les systèmes 4.0.3 ce qui serait étonnant puisque encore une fois le programme fonctionne sous l'émulateur. Modifié 5 mars 2012 par free-tibet Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
2beta Posté(e) 2 mars 2012 Share Posté(e) 2 mars 2012 Helllo, ici c'est juste pour présenter son application par pour poser des question.... Clique sur signaler sous ton nom et demande de déplacer le sujet dans la partie développement http://forum.frandro...-developpement/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
free-tibet Posté(e) 3 mars 2012 Auteur Share Posté(e) 3 mars 2012 ah oui ! merci ! sinon j'ai résolus mon problème en ajoutant gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE); avant chaque appel au dessin de chaque texture ! voila c'est résolut il s'agit d'un problème de compatibilité avec open-gl es 1.0. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.