Partage
  • Partager sur Facebook
  • Partager sur Twitter

LWJGL Bug avec de grandes coordonnées

    18 juillet 2019 à 18:12:29

    Bonjour, je suis en train de développer un genre de Minecraft-Like, mais je suis face à un problème : le jeu créer un monde "infinie" mais quand je vais à des coordonnées relativement élevées(comme 100_000 ; 64; 100_000) il y a des bugs de rendu et les blocs commencent à trembler lorsque je bouge la caméra. Je ne comprends pas pourquoi, surement que les coordonées sont trop élevées et que cela engendre des bugs. Y a-t-il une solution ?

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      18 juillet 2019 à 20:59:22

      Je sais pas trop à quoi tu t'attends comme réponse avec si peu d'informations. Montre nous du code qu'on puisse t'aider
      • Partager sur Facebook
      • Partager sur Twitter
        24 juillet 2019 à 14:38:43

        Splintz a écrit:

        Je sais pas trop à quoi tu t'attends comme réponse avec si peu d'informations. Montre nous du code qu'on puisse t'aider


        Voici le code du rendu d'un chunk:

        public void render(){
        		
        		if(!bufferCreated) createBuffer();
        		if(updateBuffer) updateBuffer();
        		
        		glEnableVertexAttribArray(0);
        		glEnableVertexAttribArray(1);
        		glEnableVertexAttribArray(2);
        		glEnableVertexAttribArray(3);
        		glEnableVertexAttribArray(4);
        		
        		glBindBuffer(GL_ARRAY_BUFFER, vbo);
        		
        		GL13.glActiveTexture(GL13.GL_TEXTURE0);
        		GL11.glBindTexture(GL11.GL_TEXTURE_2D, Block.textureID);
        		
        		glVertexAttribPointer(0, 3, GL_FLOAT, false, 13*4, 0);
        		glVertexAttribPointer(1, 4, GL_FLOAT, false, 13*4, 12);
        		glVertexAttribPointer(2, 3, GL_FLOAT, false, 13*4, 28);
        		glVertexAttribPointer(3, 2, GL_FLOAT, false, 13*4, 40);
        		glVertexAttribPointer(4, 1, GL_FLOAT, false, 13*4, 48);
        		
        		glDrawArrays(GL_QUADS, 0, bufferSize);
        		
        		glDisableVertexAttribArray(0);
        		glDisableVertexAttribArray(1);
        		glDisableVertexAttribArray(2);
        		glDisableVertexAttribArray(3);
        		glEnableVertexAttribArray(4);
        		
        		if(debugMode){
        			glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
        			glDisable(GL_CULL_FACE);
        			
        			glLineWidth(5);
        			glBegin(GL_QUADS);
        			glColor3f(0,0,0);
        			glVertex3f(pos.x * SIZE, 0, pos.y * SIZE);
        			glVertex3f(pos.x * SIZE+SIZE, 0, pos.y * SIZE);
        			glVertex3f(pos.x * SIZE+SIZE, HIGH, pos.y * SIZE);
        			glVertex3f(pos.x * SIZE, HIGH, pos.y * SIZE);
        			glEnd();
        			
        			glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
        			glEnable(GL_CULL_FACE);
        		}
        	}



        • Partager sur Facebook
        • Partager sur Twitter

        LWJGL Bug avec de grandes coordonnées

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown