Créer un Gui Overlay
-
En effet cette event est capricieux, ça cause des problèmes.
Ajoute ces deux conditions :
https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/main/event/RenderEvent.java#L34-L39
Normalement ça règlera le problème. -
Ah merci je teste

PS: Dans ce code, au lieu de désactiver puis réactiver les fonctions de LWJGL, il suffit de se servir des GL11.glPushMatrix() et GL11.glPopMatrix() non ?
EDIT :
J’essaie de dessiner avec LWJGL mais ça marche pas
:int mX = event.resolution.getScaledWidth(); int mY = event.resolution.getScaledHeight(); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glColor4f(0, (1/255)*100, 1.0F, 1.0F); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glBegin(GL11.GL_QUADS); { GL11.glVertex2f(100, 0); GL11.glVertex2f(100, 10); GL11.glVertex2f(0, 10); GL11.glVertex2f(0, 0); } GL11.glEnd(); GL11.glPopMatrix(); -
Up, une idée ?
-
Via un Tessellator ?
-
J’ai essayé mais ça marchait pas. Je vais réessayer au cas où mais bon…
EDIT :
Je confirme, ça ne marche pas, mais le code s’exécute (System.out.println).Code :
@SubscribeEvent public void onRenderGameOverlayEvent(RenderGameOverlayEvent event) { if(event.isCancelable() || event.type != ElementType.EXPERIENCE) { } else { int mX = event.resolution.getScaledWidth(); int mY = event.resolution.getScaledHeight(); GL11.glPushMatrix(); GL11.glEnable(GL11.GL_BLEND); GL11.glColor3f(0, (1/255)*100, 1.0F); GL11.glDisable(GL11.GL_LIGHTING); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); Tessellator tess = Tessellator.instance; tess.startDrawingQuads(); { tess.addVertex(0, 0, 0); tess.addVertex(0, 30, 0); tess.addVertex(100, 30, 0); tess.addVertex(100, 0, 0); } tess.draw(); System.out.println("Test ---------"); GL11.glPopMatrix(); } } -
Up, help svp
-
Essaye sans la ligne GL11.glPushMatrix(); et GL11.glPopMatrix();
-
ça ne change rien

-
Hum faudrait attendre le message de @xavpok ou quelqu’un d’autre qui s’y connait plus en openGL.
-
Premierement, tu donnes juste des coordonnees xyz avec tess.addVertex, or sans coordonees uv (pareil que 0,0), OpenGL va charger le pixel à 0,0 sur la texture. Etant donné que tu es en olein milieu d’un rendu, la texture a surement un pixel transparent à 0,0
Deuxiement, et là c’est plus de la stabilité qu’autre chose, essaie de mettre des glDisable après tes appels quand tu fais des glEnable avant
Sent from my GT-I9000 using Tapatalk 2
-
Un grand merci, ça marche

Sujet Résolu.