GLUtils, ou comment faire des modèles 3D facilement
-
juste remplacer le .tga par des .png
-
@‘isador34’:
juste remplacer le .tga par des .png
Ah bon ? Normalement la lib est censé gérer les .tga >.>
Bizarre… -
bha apparament non ^^
-
Slt petite question, qu’elle est la différence de code entre un bloc et une entité,
car en faite je voudrais appliqué un .obj sur un mob
merci d’avance -
@‘anguelwyvern’:
Slt petite question, qu’elle est la différence de code entre un bloc et une entité,
car en faite je voudrais appliqué un .obj sur un mob
merci d’avanceIl n’y a absolument aucune différence dans l’utilisation de la lib.
Fais comme d’habitude avec un modèle Techne (fais une petite recherche), mais remplace le model.render() de Techne par model.render() de l’API. -
je te remercie
-
Bonjour tout le monde !
Pour commencer, merci pour ce super tutoriel, j’ai réussi du premier coup !
Par contre, j’aurai deux petites questions pour pouvoir faire des choses plus poussées avec mon model ^^
Premièrement: Comment ne faire un rendu que des mesh sans la texture, et donner une couleur à ceux-ci ?
et deuxièmement: comment empêcher que l’affichage de mon model ne se limite aux moments ou mon bloc de base est dans mon angle de vue ?Voila, j’espère avoir réussi à me faire comprendre, et sinon, encore chapeau pour le tuto !
-
@‘Sugarshy’:
Bonjour tout le monde !
Pour commencer, merci pour ce super tutoriel, j’ai réussi du premier coup !
Par contre, j’aurai deux petites questions pour pouvoir faire des choses plus poussées avec mon model ^^
Premièrement: Comment ne faire un rendu que des mesh sans la texture, et donner une couleur à ceux-ci ?
et deuxièmement: comment empêcher que l’affichage de mon model ne se limite aux moments ou mon bloc de base est dans mon angle de vue ?Voila, j’espère avoir réussi à me faire comprendre, et sinon, encore chapeau pour le tuto !
1. GL11.glBindTexture(GL11.GL_TEXTURE_2D,0) avant de dessiner le modèle devrait “décrocher” la texture normalement (mais je ne suis pas sûr)
2. Il y a une méthode dans TileEntity qui donne la taille du bloc mais je ne me rappelle plus son nom. Il faut renvoyer Infini Positif pour que ton bloc soit tout le temps affiché -
Pour que le rendu reste toujours activé j’ai réussi en suivant ton conseil (rajouter le code suivant dans mon TileEntity)
@SideOnly(Side.CLIENT) public AxisAlignedBB getRenderBoundingBox() { AxisAlignedBB bb = INFINITE_EXTENT_AABB; return bb; }
Par contre je reste coincé pour les Mesh.
J’ai essayé avec le codeglmodel.renderMeshNormals();
Mais cela a un léger bug…
Model de base: https://dl.dropboxusercontent.com/u/28128175/2014-10-14_23.00.18.png
Rendu en renderMeshNormals: https://dl.dropboxusercontent.com/u/28128175/2014-10-14_23.26.24.png -
Il ne faut pas utiliser “renderMeshNormals” puisqu’il va dessiner (comme son nom l’indique) les normales de chacun des polygones composant le modèle.
Utilise glColor3f(1,0,0); (ici mets le mesh en rouge)
Puis dessine le model comme tu as fais pour ici: https://dl.dropboxusercontent.com/u/28128175/2014-10-14_23.00.18.png
Et tout devrait être bon -
@‘jglrxavpok’:
Il ne faut pas utiliser “renderMeshNormals” puisqu’il va dessiner (comme son nom l’indique) les normales de chacun des polygones composant le modèle.
Utilise glColor3f(1,0,0); (ici mets le mesh en rouge)
Puis dessine le model comme tu as fais pour ici: https://dl.dropboxusercontent.com/u/28128175/2014-10-14_23.00.18.png
Et tout devrait être bonEn fait c’est presque sa, le truc c’est que je veux pas afficher ma texture, je veux justes les “contours” de mon model, sans sa texture dessus
edit: je veux juste afficher le “wire” sans la texture
-
@‘Sugarshy’:
@‘jglrxavpok’:
Il ne faut pas utiliser “renderMeshNormals” puisqu’il va dessiner (comme son nom l’indique) les normales de chacun des polygones composant le modèle.
Utilise glColor3f(1,0,0); (ici mets le mesh en rouge)
Puis dessine le model comme tu as fais pour ici: https://dl.dropboxusercontent.com/u/28128175/2014-10-14_23.00.18.png
Et tout devrait être bonEn fait c’est presque sa, le truc c’est que je veux pas afficher ma texture, je veux justes les “contours” de mon model, sans sa texture dessus
edit: je veux juste afficher le “wire” sans la texture
Etant donné la structure de l’API, je ne crois pas que cela soit possible, désolé
-
Mince ><
Bon, je vais chercher une autre solution…
merci en tout cas !Ah si, une derniere question, comment faire pour que le model n’ai pas d’ombres ?
-
Avant de le dessiner:
glDisable(GL_LIGHTING);puis après
glEnable(GL_LIGHTING);et c’est tout
-
super, merci !
-
Bon, vu que je me suis dis que je vous ai pas encore assez embêté ^^ :
Je n’arrive pas a appliquer une rotation constante a mon model sur l’axe z -
@‘Sugarshy’:
Bon, vu que je me suis dis que je vous ai pas encore assez embêté ^^ :
Je n’arrive pas a appliquer une rotation constante a mon model sur l’axe zConstante, c’est-à-dire ?
-
@‘jglrxavpok’:
Constante, c’est-à-dire ?
Que dés que je pose mon bloc, il se met a tourner
-
@‘Sugarshy’:
@‘jglrxavpok’:
Constante, c’est-à-dire ?
Que dès que je pose mon bloc, il se met a tourner
Il te faudrait une variable soit dans la TileEntity soit dans le renderer que tu incrémenterai chaque rendu/tick et tu l’utilises comme angle.
-
J’ai éssayé avec un
public void updateTick(World world, int x, int y, int z, double d0, double d1, double d2) { tick = tick + 0.1; }
Et dans ma partie renderTileEntityAt :
GL11.glRotatef((float) tick, 0, 0, 1);
Mais sa ne marche pas…