IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Création de texture à partir de la mémoire avec direct3d???


Sujet :

DirectX

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Création de texture à partir de la mémoire avec direct3d???
    Salut à tous !

    J'étais venu sur ce forum il y'a quelque temps pour une question de couche alpha avec directdraw, et vous m'avez conseillé de passer à direct3d car directdraw ne gère pas l'alpha.
    Et ben c'est chose faite, mais ce n'est pas sans difficulté.
    Au point où j'en suis j'arrive à afficher une image enregistrer sur mon dur en créant une texture avec la fonction "D3DXCreateTextureFromFile", et maintenant je voudrais afficher une image à partir d'un Buffer en mémoire, j'ai essayé "D3DXCreateTextureFromFileInMemory", mais il me fait une erreur.
    Je suis un peu perdu...
    A partir du Buffer j'ai créé un bitmap (CreateBitmap) et après je passe ce bitmap dans la fonction "D3DXCreateTextureFromFileInMemory".
    Mais après que faut il faire?Je pensais à un LockRect sur la texture mais que fait précisement cette fonction?
    Ensuite je voulais savoir la différence entre une texture et une surface, une texture contien plusieurs surfaces?si oui lesquels?et les level sont des surfaces?

    Enfin voila c'est un début et je suis un peu perdu donc merci d'avance pour vos réponses

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    maintenant je voudrais afficher une image à partir d'un Buffer en mémoire, j'ai essayé "D3DXCreateTextureFromFileInMemory", mais il me fait une erreur.
    Je suis un peu perdu...
    A partir du Buffer j'ai créé un bitmap (CreateBitmap) et après je passe ce bitmap dans la fonction "D3DXCreateTextureFromFileInMemory"
    Tu t'y prends mal. Cette fonction sert à charger un fichier, qui se trouve en mémoire certes mais un fichier. Toi tu as un buffer de pixels, et même en passant par un bitmap tu n'auras pas la structure d'un fichier bmp en mémoire.
    Il faut simplement créer une texture vide (D3DXCreateTexture), et la remplir manuellement en verrouillant (LockRect) ta texture. Voir la doc du SDK pour les détails du verrouillage / remplissage.

    Ensuite je voulais savoir la différence entre une texture et une surface, une texture contien plusieurs surfaces?si oui lesquels?et les level sont des surfaces?
    Prend ta phrase en enlevant les points d'interrogation, et tu as tes réponses . Une texture est une collection de surfaces, qui sont ses niveaux (levels) de mipmapping.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Salut et merci de ta réponse

    J'ai créé ma texture comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    D3DXCreateTexture(
    				m_pd3dDevice,
    			        pG->GetWidth(),
    				pG->GetHeight(),
    				0,
    				D3DUSAGE_RENDERTARGET,
    				D3DFMT_A8R8G8B8,
    				D3DPOOL_MANAGED,
    				&m_pTexture);
    Mais maintenant c'est pour passer mon buffer dans la texture que je bloque...
    Est ce que c'est la fonction LockRect qui le fait, ou une autre?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    HRESULT LockRect(
      UINT Level,
      D3DLOCKED_RECT* pLockedRect,
      CONST RECT* pRect,
      DWORD Flags
    );
    La description de la msdn sur les paramètres de cette fonction est un peu flou pour moi.
    Notament pour le D3DLOCKED_RECT...

    Merci encore

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Le flag D3DUSAGE_RENDERTARGET n'a rien à faire là, il sert à créer des textures de rendu. Pourquoi diable tout le monde l'utilise ? Y aurait-il un mauvais sample dans le SDK Dx ?

    Pour remplir ta texture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // Pointeur sur les pixels en mémoire
    const unsigned char* Src = Buffer; // Buffer pointe sur les données
     
    // Verrouillage de la texture
    D3DLOCKED_RECT Rect;
    Texture->LockRect(0, &Rect, NULL, 0);
     
    // Pointeur sur les pixels de la texture
    unsigned char* Dest = reinterpret_cast<unsigned char*>&#40;Rect.pBits&#41;;
     
    // Transfert des pixels sur la texture
    for &#40;int i = 0; i < height; ++i&#41;
    &#123;
        std&#58;&#58;copy&#40;Src, Src + width, Dest&#41;;
        Src += width;
        Dest += Rect.Pitch;
    &#125;
     
    // Déverrouillage de la texture
    Texture->UnlockRect&#40;0&#41;;
    Après si tu veux générer les niveaux de mipmapping, il faut utiliser D3DXFilterTexture.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    D'accord merci, je vais regarder ça!!!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Rebonjour,

    J'ai étudié le code que tu m'a passé, ça marche, j'ai un affichage,

    y'a juste un petit soucis de dimensions...et en fait je comprend pas vraiment ce qu'est le Pitch du D3DLOCKED_RECT (PS: je travail sous directx 8.1 et apparemment le pitch a changé dans la version 9 mais j'en suis vraiment pas sure).

    Merci

  7. #7
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    pitch = nombre d'octets entre le pixel X de la ligne Y
    et le pixel X de la ligne Y+1 (distance entre deux lignes).

    En général le pitch n'est pas tout à fait égal à la largeur de la texture en octet parce que le hardware doit prendre des mesures d'alignement des lignes
    (alignés sur 64 octets ou sur la valeur du level de base).

    Quand tu parcours ta texture à la main c'est toujours le pitch qu'il faut utiliser. Et surtout utiliser dynamiquement celui renvoyé par le driver, parce que ce n'est jamais le même d'un hardware à un autre.

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Je crois comprendre

    Mais je n'arrive pas à résoudre mon problème d'affichage, en effet j'ai modifié le code pour l'adapter à mon programme, et ça donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    D3DXCreateTexture&#40;
    						  m_pd3dDevice,
    						  pG->GetWidth&#40;&#41;,
    						  pG->GetHeight&#40;&#41;,
    						  0,
    						  0,
    						  D3DFMT_A8R8G8B8,
    						  D3DPOOL_MANAGED,
    						  &m_pTexture
    					   	&#41;;
    // Pointeur sur les pixels en mémoire
    const RGBAPixel* Src =pG->GetDataBuf&#40;&#41; ; // Buffer pointe sur les données
     
    // Verrouillage de la texture
    D3DLOCKED_RECT Rect;
    m_pTexture->LockRect&#40;0, &Rect, NULL, 0&#41;;
     
    // Pointeur sur les pixel de la texture
    RGBAPixel* Dest = reinterpret_cast<RGBAPixel*>&#40;Rect.pBits&#41;;
     
    // Transfert des pixels sur la texture
    for &#40;int i = 0; i < pG->GetHeight&#40;&#41;; ++i&#41;
    &#123;
    	std&#58;&#58;copy&#40;Src, Src + pG->GetWidth&#40;&#41;, Dest&#41;;
    	Src += pG->GetWidth&#40;&#41;;
    	Dest += Rect.Pitch/4;
    &#125;
     
    // Déverrouillage de la texture
    m_pTexture->UnlockRect&#40;0&#41;;
    Je divise le pitch par 4 car mon buffer a une taille de 4 octets par pixel.
    Le resultat et pas mal, les lignes de mon image sont bien alignée, mais j'ai une bande noire qui vient se rajouter sur la droite de l'image et en bas
    Et sur un autre PC, ça passe nickel(sans bandes noires)
    La taille des bandes n'est jamais la même...
    En fait, je ne vois pas d'où ils sortent ces pixels noirs

    Merci pour vos réponses ça m'aide bien

  9. #9
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    lorsque directx stocke des images en mémoire il insère des informations qui correspondent aux bandes noires que tu vois. Faut pas faire n'importe quoi avec le pitch.

  10. #10
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Quelles sont les dimensions de ta texture ?

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Ben les dimensions de la texture sont générées aléatoirement, et on les récupère avec le GetWidth() et le GetHeight(), et lorsque je créé la texture , je les passe en paramètres.

    lorsque directx stocke des images en mémoire il insère des informations qui correspondent aux bandes noires que tu vois. Faut pas faire n'importe quoi avec le pitch.
    au debut j'ai mis le pitch sans le diviser et il me fesait une erreur.
    et mon Buffer RGBAPixel est bien une succession de 4 octets, un pour le rouge , un pour le vert et ainsi de suite.

  12. #12
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    assures toi que D3DXCreate te retourne bien une texture des
    dimensions que tu as demandé.

    Certaines fonctions D3DX vont retourner une taille qui est la prochaine
    puissance de deux parce que certains hardware ont du mal avec les
    textures non power of two (en gros tout hardware qui n'est pas une geforce 6 ou 7).

    Sinon le reste a l'air à peu près correct.

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  13. #13
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Citation Envoyé par pepedimancho
    Ben les dimensions de la texture sont générées aléatoirement, et on les récupère avec le GetWidth() et le GetHeight(), et lorsque je créé la texture , je les passe en paramètres.

    lorsque directx stocke des images en mémoire il insère des informations qui correspondent aux bandes noires que tu vois. Faut pas faire n'importe quoi avec le pitch.
    au debut j'ai mis le pitch sans le diviser et il me fesait une erreur.
    et mon Buffer RGBAPixel est bien une succession de 4 octets, un pour le rouge , un pour le vert et ainsi de suite.
    Si tu regardes le code de loulou24 il utilise un unsigned char*. Quel est ce type RGBAPixel* ?? Qui je pense mets la zone dans ta boucle.

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    en effet, tu as raison,
    exemple:
    quand l'image du buffer fait 205*257, la texture fait 256*512

    Perso, j'ai une ATI Radeon 9000 serie et sur l''autre PC c'est une GForce (je ne connais pas le model faudra que je demande)

    Mais comment est ce que l'on peut palier à ce problème?
    Il faut lui dire d'ignorer le reste de la texture?Ou il existe une autre fonction de création de texture?

    En tout cas c'est bien vu, merci

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Ben RGBAPixel c'est une structure que l'on m'a donné pour mon projet et je doit l'utiliser sous cette forme.
    Mais vu que pour un pixel j'ai bien 4 unsigned char (donc 4*octet), c'est pour ça que je divise par 4 mon pitch, et ça marche car mon image est bien aligné, je veus dire par là que les lignes sont bien les unes en face des autres.

    Donc ces bandes noires sont belle et bien un probleme de dimension de texture comme l'a signalé LeGreg.

  16. #16
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    palier au problème : changer de hw ?

    ..non je déconne.

    En fait les possibilités sont limitées: les jeux vidéos commerciaux n'utilisent que des textures aux dimensions en puissance de deux (256x1024, 512x512, etc..). Il faut juste dire aux artistes de faire
    leurs textures avec cette limitation en tête.

    La liste des limitations liées aux textures non puissance de deux sur les hardware qui ne les supportent pas "en full" sont listées dans la doc de DX. En gros: pas de mipmapping, pas d'adressage autre que CLAMP, pas de formats compressés (DXTn).

    Si tu as considéré cette liste de limitation et tu considères que cela ne dérange en rien ton utilisation de ta texture alors tu peux créer explicitement une texture aux dimensions autres que Power of two.

    Pour ton D3DXCreate, essaie de voir si ça passe en spécifiant un seul niveau de mipmap (je sais pas peut-etre que ça passera).
    Si ça marche pas faut passer aux fonctions Create du D3DDevice
    pD3DDevice->CreateTexture qui lui ne fera JAMAIS de redimensionnement. Evidemment ça risque d'échouer si tu lui demandes de créer des miplevels autre que celui de base.

    Il y a plein d'autres points de détails mais bon ça suffira pour maintenant et puis je t'encourage fortement à lire toute la doc de D3D, toutes ces infos y sont.

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  17. #17
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Ok. Une petite idée à tester:

    Utilises le flag D3DX_DEFAULT en remplacement de pG->GetWidth() et de
    pG->GetHeight().

    La fonction D3DXCreateTexture utilisera par défaut la valeur de 256, pour les deux paramètres. Tu n'auras plus qu'à boucler sur cette valeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    D3DXCreateTexture&#40;
                        m_pd3dDevice,
                        D3DX_DEFAULT,
                        D3DX_DEFAULT,
                        0,
                        0,
                        D3DFMT_A8R8G8B8,
                        D3DPOOL_MANAGED,
                        &m_pTexture
                         &#41;; 
     
    ...
     
    for &#40;int i = 0; i < 256; ++i&#41;
    &#123;
       std&#58;&#58;copy&#40;Src, Src + 256, Dest&#41;;
       Src += 256;
       Dest += Rect.Pitch/4;
    &#125;
    J'ai pas testé.

    Je vois que je ne suis pas le seul à ne pas dormir .

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Ben c'est partie , merci pour tout ces renseignement

    PS: je deviens insomniac là

  19. #19
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Citation Envoyé par pepedimancho
    Ben c'est partie , merci pour tout ces renseignement

    PS: je deviens insomniac là

    quand l'image du buffer fait 205*257, la texture fait 256*512
    arf je pense que ça va coincer car ton image fait 257 pixels, soit un pixel de trop

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Voici la solution que j'ai trouvé temporairement

    En fait , je n'affiche que la partie où il y a l'image et pas les bandes noires.
    Pour cela , lors de la création de mon Vertex Buffer, au lieu de mettre 1 comme paramètre de texture pour indiquer l'extremité de l'image (car les coordonnées de la texture vont de 0 à 1), je met le rapport de la taille de mon image sur la taille de la texture en puissance de 2

    ça donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    float w=width/Twidth;//rapport largeur image/texture
    float h=height/Theight;//rapport hauteur image/texture
     
    CUSTOMVERTEX g_Vertices&#91;&#93; =
    &#123;
    		&#123; m_drawLeft+width,  m_drawTop+m_drawHeight-height, 0.5f, 1.0f, D3DCOLOR_XRGB&#40;255,255,255&#41;,w,h, &#125;,
    		&#123; m_drawLeft, m_drawTop+m_drawHeight, 0.5f, 1.0f, D3DCOLOR_XRGB&#40;255,255,255&#41;,0,0, &#125;,
    		&#123; m_drawLeft,  m_drawTop+m_drawHeight-height, 0.5f, 1.0f, D3DCOLOR_XRGB&#40;255,255,255&#41;,0,h, &#125;, // x, y, z, rhw, color
    		&#123; m_drawLeft+width,  m_drawTop+m_drawHeight-height, 0.5f, 1.0f, D3DCOLOR_XRGB&#40;255,255,255&#41;,w,h, &#125;,
    		&#123; m_drawLeft+width,  m_drawTop+m_drawHeight, 0.5f, 1.0f, D3DCOLOR_XRGB&#40;255,255,255&#41;,w,0, &#125;,
    		&#123; m_drawLeft,  m_drawTop+m_drawHeight, 0.5f, 1.0f, D3DCOLOR_XRGB&#40;255,255,255&#41;,0,0, &#125;,
    &#125;;
    voila et ça marche, cela dit, ça arrondit donc des fois y'a une légère bordure noire
    par contre j'ai une petite question, les vertex doivent absolument avoir une couleur?

Discussions similaires

  1. Création d'un HTML à partir d'un XML avec XSLT
    Par Ioan dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/03/2011, 19h51
  2. Exemple de création d'un bean Java à partir d'un XML avec SAX
    Par Ioan dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 08/03/2011, 19h47
  3. Réponses: 4
    Dernier message: 05/05/2008, 19h51
  4. [c#]Création d'une texture à partir d'autres
    Par backfire dans le forum DirectX
    Réponses: 17
    Dernier message: 29/12/2005, 19h01
  5. Chargement d'une texture a partir de la mémoire
    Par logramme dans le forum DirectX
    Réponses: 6
    Dernier message: 27/01/2003, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo