Culling issue concernant les entités semi-transparents (alpha entre 0 et 1)
-
Ce message a été supprimé ! -
Pour info, en 1.11.2, je n’ai pas le problème avec les entités, mais avec les blocks :
[EDIT] : ça fait la même chose pour les tile entities -
Ourten a suggéré de dessiner pendant la render pass 1
-
Mouais bon je vais réessayer, j’avais déjà testé un truc dans le genre, rien de bien changeant. Merci Ourten de ta réponse !
EDIT:@Override protected int shouldRenderPass(EntityLivingBase par1EntitySlime, int par2, float par3) { if(par2 == 1) { glEnable(GL_NORMALIZE); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glPushMatrix(); glTranslated(-0.5F, 3.0F, -4.5F); glScalef(0.25F, 0.25F, 0.25F); glRotatef(180, 1, 0, 0); this.model.renderGroup("Fenster_front"); this.model.renderGroup("aFenster_interior"); glPopMatrix(); glDisable(GL_BLEND); return -1; } return -1; }
En effet, rien de merveilleux, le résultat est le même, qu’aurais-je mal fait par-hasard ?
EEDIT: Toujours pas, j’ai ceci désormais dans Model#render après avoir retiré le shouldRenderPass du Render:
glPushMatrix(); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // glEnable(GL_DEPTH_TEST); // glAlphaFunc(GL_GREATER, 0.1f); // glDepthMask(true); glTranslated(-0.5F, 3.0F, -4.5F); // glScalef(0.001F, 0.001F, 0.001F); glScalef(0.25F, 0.25F, 0.25F); glRotatef(180, 1, 0, 0); if(MinecraftForgeClient.getRenderPass() == 1) { this.model.renderGroup("Fenster_front"); this.model.renderGroup("aFenster_interior"); } else this.model.renderGroup("aWagenkasten"); // this.model.regenerateNormals(); // this.model.render(); // glDepthMask(false); // glDisable(GL_DEPTH_TEST); glDisable(GL_BLEND); glPopMatrix();
EEEdit: Okay, je pense avoir enfin compris avec le shouldRenderInPass à add dans la classe de l’entité, j’essaierai demain.