Java Utilisant le pochoir OpenGL pour créer un contour


J'essaie de rendre un contour d'un objet par-dessus mais j'ai quelques difficultés. Je ne suis pas trop bon avec OpenGL, donc la plupart provenait des tutoriels suivants. L'effet désiré est censé être quelque chose comme ceci:

, Mais c'est le résultat pour l'instant:

Le code que j'utilise pour ce faire est:

GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glClearStencil(0);
GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);
GL11.glEnable(GL11.GL_STENCIL_TEST);
GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFFFF);
GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_FILL);
GL11.glColor3f(0.0f, 0.0f, 0.0f);

// Render original.
this.doRender((AbstractClientPlayer) par1Entity, par2, par4, par6, par8, par9);

GL11.glDisable(GL11.GL_LIGHTING);
GL11.glStencilFunc(GL11.GL_NOTEQUAL, 1, 0xFFFF);
GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);
GL11.glLineWidth(3.0f );
GL11.glPolygonMode(GL11.GL_FRONT_AND_BACK, GL11.GL_LINE);
GL11.glColor3f(1.0f, 1.0f, 1.0f);
GL11.glColor4f(1.0F, 0, 0, 0.5F);
GL11.glDisable(GL11.GL_TEXTURE_2D);

// Render stencil.
this.doRender((AbstractClientPlayer) par1Entity, par2, par4, par6, par8, par9);

GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glColor4f(1.0F, 1, 1, 1F);
GL11.glPopAttrib();

Et doRender est la méthode déjà là pour rendre le joueur. N'importe quoi à ce sujet serait utile.

Author: Unihedron, 2015-01-18