MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Une question sur le tesselator(DrawTextureModalRect)

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    17 Messages 2 Publieurs 3.1k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • P Hors-ligne
      PlagueZ
      dernière édition par

      Bonjour,

      je cherche a changer la position d’une texture que je draw a l’écran via tesselator et j’ai jamais trop utilisé la tesselation ducoup je suis un peu perdu

      
      if (props.getCurrentDrugs() == 3){
                 GL11.glBlendFunc(770, 771);
                 GL11.glDisable(GL11.GL_DEPTH_TEST);
                 GL11.glDepthMask(false);
                 GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                 GL11.glDisable(GL11.GL_ALPHA_TEST);
                 FMLClientHandler.instance().getClient().renderEngine.bindTexture(clean);
                 Tessellator tessellator = Tessellator.instance;
                 tessellator.startDrawingQuads();
                 tessellator.draw();
                 GL11.glDepthMask(true);
                 GL11.glEnable(GL11.GL_DEPTH_TEST);
                 GL11.glEnable(GL11.GL_ALPHA_TEST);
                 GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                 }
      

      j’aimerai préciser les coordonnée X, Y de la texture clean

      merci d’avance

      “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREXS Hors-ligne
        SCAREX
        dernière édition par

        J’ai pas compris ce que tu voulais faire. La classe Tesselator est faite pour dessiner des objets en 2D principalement, mais tu peux l’utiliser pour dessiner des blocks ou Items en 3D mais c’est plus simple d’utiliser l’openGL pour çà. D’après ce que je vois tu utilises un mélange d’openGL et de Tesselator.

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • P Hors-ligne
          PlagueZ
          dernière édition par

          En fait j essaye de Draw un icône sur l’écran sauf que il se draw en haut a gauche moi je veut que il soit au niveau de la barre de bouffe donc je veut préciser sa position X,Y

          “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            Tu vas chercher trop loin : il y a un event RenderGameOverlayEvent, sur lequelle tu mets une condition pour savoir si c’est la barre de nourriture qui est dessinée et une fois appelée, tu appelle une méthode drawTextureModalRect (soit venant de la classe GUI, soit tu peux la recopier plus proprement dans ta classe, je te conseille cette dernière solution).

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • P Hors-ligne
              PlagueZ
              dernière édition par

              Le problème avec ça c est que ça crée des bug de texture sur une barre que je draw de la même façon en gros j ai 3 barre de statut une barre d’expérience custom un barre d’eau et une barre de statut pour la dépendance au drogues la première barre fonctionne parfaitement la deuxième aussi mais des que j’essaye d ajouter l’icône soit l icône se draw dans un carré de 16*16 mais sa taille est égale a celle de l’écran donc on vois que quelques pixel soir le rendu de ma barre d’eau bug en passant par cette méthode avec le tesselator je n’ai plus aucun bug ;S

              “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

              1 réponse Dernière réponse Répondre Citer 0
              • SCAREXS Hors-ligne
                SCAREX
                dernière édition par

                Il faut penser à faire le draw de tes textures dans le POST du RenderGameOverlayEvent. Je comprends pas trop ce que çà fait, envoi une screenshot.

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

                1 réponse Dernière réponse Répondre Citer 0
                • P Hors-ligne
                  PlagueZ
                  dernière édition par

                  j’ai régler le problème de rendu de la barre d eau c’était de ma faute reste que l image en 1616 s’affiche toujours en 200200

                  http://puu.sh/jmFVA/48466318f9.jpg
                  avec: drawTexturedModalRect(j2-8, k2-20, 1, 1, 16, 16);

                  http://puu.sh/jmG2q/7d44e2e95e.jpg
                  avec: drawTexturedModalRect(j2-8, k2-100, 1, 1, 120, 120);

                  j’avait pensé a un GL11.gl_scaled mais ça resize toute l interface de minecraft

                  “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREXS Hors-ligne
                    SCAREX
                    dernière édition par

                    Ton draw est pas bon, voici les paramètres : x,y, offsetX, offsetY, width, height. Dans la plupart des cas (dont le tiens), l’offset devrait être de 0.

                    Donc : drawTextureModalRect(j2-8, k2 - 100, 0, 0, 16, 16)

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • P Hors-ligne
                      PlagueZ
                      dernière édition par

                      ça change rien toujours carré blanc comme dans le 1er cas
                      au cas ou je drop le code

                      
                      if (props.getCurrentDrugs() == 3){
                             ScaledResolution scaledresolution = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight);
                             int k = scaledresolution.getScaledWidth();
                             int l = scaledresolution.getScaledHeight();
                             int j2;
                             int k2;
                             j2 = (k - this.mc.fontRenderer.getStringWidth("")) / 2;
                             k2 = l - 31 - 4;
                      
                      this.mc.getTextureManager().bindTexture(clean);
                      drawTexturedModalRect(j2-8, k2-100, 0, 0, 16, 16);            
                                 }
                      

                      “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                      1 réponse Dernière réponse Répondre Citer 0
                      • SCAREXS Hors-ligne
                        SCAREX
                        dernière édition par

                        Rajoute un Gl11.glScalef.

                        Petit conseil : fait le draw en x = y = 0. Et déplace le avec un GL11.glTranslate, comme ceci :

                        GL11.glPushMatrix()
                        GL11.glTranslatef(x, y 0.0F) // C'est du 2D donc pas de translation sur l'axe Z
                        float scale = 2.0F;
                        GL11.glScalef(scale, scale, 0.0F)
                        drawTextureModalRect(0,0,0,0, 16, 16)
                        GL11.glPopMatrix()
                        

                        En fait, le width et le height sont ceux de la texture, pas du fichier.

                        Site web contenant mes scripts : http://SCAREXgaming.github.io

                        Pas de demandes de support par MP ni par skype SVP.
                        Je n'accepte sur skype que l…

                        1 réponse Dernière réponse Répondre Citer 0
                        • P Hors-ligne
                          PlagueZ
                          dernière édition par

                          ok je comprend mieux j’avais mal compris la méthode drawTextureModalRect je pensait que c’était la taille du fichier ;S

                          ca fonctionne toujours pas:
                          http://puu.sh/jmQ9Q/22ab6817d1.jpg

                          le carré a juste un couleur au lieu du blanc d’avant j’ai changer le scalef a 1.0 toujours pareil et si je le diminue encore ça réduit le cadre la taille du DrawTextureModalRect pas l’image en elle même

                          “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                          1 réponse Dernière réponse Répondre Citer 0
                          • SCAREXS Hors-ligne
                            SCAREX
                            dernière édition par

                            Renvoi ton code + la fonction drawTexturemModalRect().

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            1 réponse Dernière réponse Répondre Citer 0
                            • P Hors-ligne
                              PlagueZ
                              dernière édition par

                              Le voici

                              if (props.getCurrentDrugs() == 3){
                              ScaledResolution scaledresolution = new ScaledResolution(this.mc, this.mc.displayWidth, this.mc.displayHeight);
                              int k = scaledresolution.getScaledWidth();
                              int l = scaledresolution.getScaledHeight();
                              int j2;
                              int k2;
                              j2 = (k / 2);
                              k2 = l - 31 - 4;
                              
                              this.mc.getTextureManager().bindTexture(clean);
                              GL11.glPushMatrix();
                              GL11.glTranslatef(j2-8, k2-20, 0.0F); // C'est du 2D donc pas de translation sur l'axe Z
                              float scale = 1.0F;
                              GL11.glScalef(scale, scale, 0.0F);
                              drawTexturedModalRect(0, 0, 0, 0, 16, 16);
                              GL11.glPopMatrix();
                              }
                              
                              

                              “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                              1 réponse Dernière réponse Répondre Citer 0
                              • SCAREXS Hors-ligne
                                SCAREX
                                dernière édition par

                                @‘SCAREX’:

                                Renvoi ton code + la fonction drawTexturemModalRect().

                                Site web contenant mes scripts : http://SCAREXgaming.github.io

                                Pas de demandes de support par MP ni par skype SVP.
                                Je n'accepte sur skype que l…

                                1 réponse Dernière réponse Répondre Citer 0
                                • P Hors-ligne
                                  PlagueZ
                                  dernière édition par

                                  vu que j extend gui j’utilise la fonction DrawTextureModalRect de celui-ci

                                  public void drawTexturedModalRect(int p_73729_1_, int p_73729_2_, int p_73729_3_, int p_73729_4_, int p_73729_5_, int p_73729_6_)
                                  {
                                  float f = 0.00390625F;
                                  float f1 = 0.00390625F;
                                  Tessellator tessellator = Tessellator.instance;
                                  tessellator.startDrawingQuads();
                                  tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1));
                                  tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + p_73729_6_), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + p_73729_6_) * f1));
                                  tessellator.addVertexWithUV((double)(p_73729_1_ + p_73729_5_), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + p_73729_5_) * f), (double)((float)(p_73729_4_ + 0) * f1));
                                  tessellator.addVertexWithUV((double)(p_73729_1_ + 0), (double)(p_73729_2_ + 0), (double)this.zLevel, (double)((float)(p_73729_3_ + 0) * f), (double)((float)(p_73729_4_ + 0) * f1));
                                  tessellator.draw();
                                  }
                                  

                                  cette méthode ci

                                  “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • SCAREXS Hors-ligne
                                    SCAREX
                                    dernière édition par

                                    Essaie de mettre 256 en taille et de diminuer le scale, la taille doit être donnée en base 256.

                                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                                    Pas de demandes de support par MP ni par skype SVP.
                                    Je n'accepte sur skype que l…

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • P Hors-ligne
                                      PlagueZ
                                      dernière édition par

                                      c’était ça merci encore du coup de main 😉 je passe en resolut

                                      “Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire wo…

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • 1 / 1
                                      • Premier message
                                        Dernier message
                                      Design by Woryk
                                      ContactMentions Légales

                                      MINECRAFT FORGE FRANCE © 2024

                                      Powered by NodeBB