Tzu3D

forum du moteur 3d: Tzu3D
 
AccueilAccueil  PortailPortail  CalendrierCalendrier  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  Connexion  

Partagez | 
 

 Mesh+ alphamap

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
nomadsoul68



Messages : 11
Date d'inscription : 10/06/2013

MessageSujet: Mesh+ alphamap   Lun 10 Juin - 18:00

Bonjour,

Tout d'abord félicitation pour votre moteur 3d ! il est excellent !

Je débute avec Tzu3d et je n'arrive pas a faire la chose suivante:

- J'ai un Mesh déjà texturé qui est un arbre. L'arbre dispose de branche en polygone simple mais avec une texture au format PNG qui représente les feuilles. Est-il possible d'informer Tzu3d de charger la texture mais en excluant le blanc (alphamap) ?

Quand j'utilise la methode TZDeferredRendering sa marche les feuille apparaisse normalement, mais l'ordre du rendu est mauvais.

Il y a t-il une autre solution ?

Merci a vous.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ShadowTzu
Admin


Messages : 24
Date d'inscription : 21/02/2010
Age : 33
Localisation : Vesoul

MessageSujet: Re: Mesh+ alphamap   Jeu 27 Juin - 16:34

Bonjour, désolé de ma réponse tardive!

oui, c'est possible, il faut charger la texture avant l'arbre:
Code:
Dim textureT As New Texture.TZTexture("feuille.png", "texture123")
textureT.ColorKey = TZGlobal.Get_Color(1, 1, 1, 1)' du blanc comme couleur clef
monarbre = New Mesh.TZMesh(...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://shadowtzu.free.fr
nomadsoul68



Messages : 11
Date d'inscription : 10/06/2013

MessageSujet: merci   Jeu 27 Juin - 17:16

excellent merci beaucoup.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
nomadsoul68



Messages : 11
Date d'inscription : 10/06/2013

MessageSujet: marche pas   Jeu 27 Juin - 18:01

Neutral soit je sui un gros boulet ( ce qui est fort possible ) soit sa marche pas:

j'ai modifier le png car il le blanc était transparent alors j'ai modifier le fichier.x pour qu'il pointe sur le twig.bmp

Code:
 textureT = New Texture.TZTexture("twig.bmp", "texture123")
        textureT.ColorKey = TZGlobal.Get_Color(1, 1, 1, 1) ' du blanc comme couleur clef
        arbre = New Mesh.TZMesh("G:\Tzu3D_sdk\media\epicea.x", "map01")

        arbre.load()

et sa donne sa:

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ShadowTzu
Admin


Messages : 24
Date d'inscription : 21/02/2010
Age : 33
Localisation : Vesoul

MessageSujet: Re: Mesh+ alphamap   Dim 30 Juin - 12:50

ah, désolé, j'ai oublié de préciser qu'il faut activer l'alphatest:

RenderState.TZRenderState.GetInstance.SetRenderState(eRenderState.AlphaTestEnable, True, False)
RenderState.TZRenderState.GetInstance.SetRenderState(eRenderState.ReferenceAlpha, CByte(64), False)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://shadowtzu.free.fr
nomadsoul68



Messages : 11
Date d'inscription : 10/06/2013

MessageSujet: heu non   Lun 1 Juil - 17:03

Surprised  merci de m'aider sur ce petit problème!

voici mon code et sa marche toujours pas:

Code:
RState.SetRenderState(eRenderState.AlphaTestEnable, True, False)
        RState.SetRenderState(eRenderState.ReferenceAlpha, CByte(64), False)
        textureT = New Texture.TZTexture("twig.bmp", "texture123")
        textureT.ColorKey = TZGlobal.Get_Color(1, 1, 1, 1)
        Map = New Mesh.TZMesh("G:\Tzu3D_sdk\media\arbre.x", "map01")
        Map.Material(0).DiffuseMap = textureT
        Map.load()

en enlevant Map.Material(0).DiffuseMap = textureT
sa fonctionne toujours pas.
En regardant dans la console, la texture twig.bmp est charger au moment de textureT = New Texture.TZTexture puis au moment du chargement du mesh.
Il doit manquer un tout ptit truc non ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
nomadsoul68



Messages : 11
Date d'inscription : 10/06/2013

MessageSujet: on progresse   Lun 1 Juil - 17:24

ok sa progresse un peu voici le code:

Code:
 RState.SetRenderState(eRenderState.AlphaTestEnable, True, False)
        RState.SetRenderState(eRenderState.ReferenceAlpha, CByte(64), False)
        textureT = New Texture.TZTexture("twig.bmp", "texture123")
        textureT.ColorKey = TZGlobal.Get_Color(1, 1, 1, 1)
        Map = New Mesh.TZMesh("G:\Tzu3D_sdk\media\arbre.x", "map01")
        Map.Material(2).DiffuseMap = Texture.TZTextureManager.GetInstance.GetTexture("texture123")
        Map.Material(2).Ambient = Color.White
        Map.Material(2).Diffuse = Color.White
        Map.Material(2).CullMode = eCullMode.CULL_NONE
      
        Map.load()

les feuillles se trouve en 3ieme place dans le mesh d'où le map.material(2).
En faisant ce code les feuilles apparaissent plus sur un fond blanc mais sur un fond noir ( on voit bien que le moteur 3d a fait une decoupe de l'image pour la placé sur un fond noir maintenant comment enlever le fond noir) ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ShadowTzu
Admin


Messages : 24
Date d'inscription : 21/02/2010
Age : 33
Localisation : Vesoul

MessageSujet: Re: Mesh+ alphamap   Mar 2 Juil - 1:09

RState.SetRenderState(eRenderState.AlphaTestEnable, True, False)
RState.SetRenderState(eRenderState.ReferenceAlpha, CByte(64), False)
RState.SetRenderState(eRenderState.AlphaFunction, CByte(5), False)

textureT = New Texture.TZTexture("twig.bmp", "texture123")
textureT.ColorKey = TZGlobal.Get_Color(1, 1, 1, 1)

Map = New Mesh.TZMesh("G:\Tzu3D_sdk\media\arbre.x", "map01")
Map.Material(2).DiffuseMap = textureT
Map.Material(2).Ambient = Color.White
Map.Material(2).Diffuse = Color.White
Map.Material(2).CullMode = eCullMode.CULL_NONE
     
Map.load()

voici la bonne solution, je vais simplifier ça parce qu'en effet c'est pas évident!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://shadowtzu.free.fr
nomadsoul68



Messages : 11
Date d'inscription : 10/06/2013

MessageSujet: merci   Mar 2 Juil - 19:34

en effet c'était donc sa! sa marche bien maintenant! merci a toi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Mesh+ alphamap   

Revenir en haut Aller en bas
 
Mesh+ alphamap
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Ice Qnt et Scorpion] Appuie-tête sur siège mesh
» détournement siège mesh bureautique
» a propos des sièges mesh
» installer un MESH ou landcast
» Un mix des sièges coque et mesh est-il réalisable ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Tzu3D :: Tzu3D :: Discussion Général-
Sauter vers: