Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1293 connectés 

  FORUM HardWare.fr
  Programmation

  Direct3D 8, je cherche un tueur en programmation ;-) !!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Direct3D 8, je cherche un tueur en programmation ;-) !!

n°16586
ZZZzzz
Posté le 01-03-2001 à 21:07:48  profilanswer
 

je cherche un moyen en Direct3D 8 de faire des objets 3D (comme des cubes) dont les triangles peuvent être défini à partir d'une suite de vertices (sommets), je sais crée des objets à partir de vertices mêmes (je donne la suite des vertices et ensuite les vertices sont directement interprétés d'une certaine manière selon les flags que l'on passe en param. pour construire les triangles) ou à partir de mesh contenu dans des fichiers ".x", mais je sais pas définir les triangles à partir de certains vertices, du coup je sais pas faire un cube(à moins d'avoir des triangles qui se chevauchent).  Attention rien à voir avec les params (des flags) D3DPT_TRIANGLELIST ou ce genre de genre, ça n'a rien à voir avec cette fonction qui génère directement un objet 3D avec la liste définie de vertices. Je veux pouvoir énumérer certains vertices pour définir mes triangles (par exemple la liste 1, 5, 7  pour dire que mon triangle sera formé des sommets d'indices 1, 5 et 7 , les sommets eux sont définis avant bien sûr).
 
encore 2 petites questions:  
-comment définir plusieurs objets 3D sous Direct8 (je veux faire un cube et un sphère par exemple, indépendant l'un de l'autre)?  
-et enfin peut-on crée un fichier ".x" directement avec une application de rendu 3D (j'ai essayé avec 3DSMAX mais apparement on ne peut pas le faire de base, faut-il un plugin ?) ?  
 
voilà, merci à vous !


---------------
ronfl ...
mood
Publicité
Posté le 01-03-2001 à 21:07:48  profilanswer
 

n°16590
verdoux
And I'm still waiting
Posté le 01-03-2001 à 22:26:58  profilanswer
 

Ca doit surement exister sous D3D.
En openGL on utilise un vertex array et glDrawElements pour tracer un triangle (par exemple) à partir de 3 indices référençant les vertexs dans le tableau.

n°16596
z51
Posté le 01-03-2001 à 22:48:09  profilanswer
 

je ne comprends toujours pas ce que tu veux faire.
 
>Je veux pouvoir énumérer certains vertices pour définir mes triangles
 
Et c'est exactement ce que permet D3DPT_TRIANGLELIST.
 
Alors où est l'astuce :??:  :??:  :??:

n°16673
ZZZzzz
Posté le 02-03-2001 à 14:30:03  profilanswer
 

mais non z51 ou alors tu n'utilise pas le param pour la même fonction que moi ! c dommage je n'ai pas mes sources sur moi, et je ne me souviens plus de la fonction que j'appelais avec ce param (je crois pas que ce soit SetRender() ) mais tout ce que ça faisait c que mes vertices étaient tous pris dans l'ordre de leur définition et les triangles étaient formées ainsi ! comme le dit Verdoux ça existe en opengl et même avec DirectX7, mais avec la nouvelle façon de programmer avec DirectX 8 je n'ai aps encore vu comment on pouvais faire ce que je veux. Avec quelle fonction utilises-tu ce flag z51 ? de toute façon dès dimache soir je pourrai regarder mes sources et te dire ce que je fais exactement et ce que je veux faire .


---------------
ronfl ...
n°16768
z51
Posté le 02-03-2001 à 22:52:38  profilanswer
 

Euh ... oui, je veux bien que tu me montres ton exemple...

n°16771
ZZZzzz
Posté le 02-03-2001 à 23:35:12  profilanswer
 

ok, je te montrerai ça demain soir (finalement je vais peut-être rentrez chez moi demain soir...)


---------------
ronfl ...
n°16873
ZZZzzz
Posté le 04-03-2001 à 01:05:25  profilanswer
 

voilà, dans mon code j'ai ça (c du Direct3D8):
 
"g_pd3dDevice->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, (50-1)*2 );" et j'ai défini 50 vertices, donc ça va me lier tous les vertices pour me faire mes triangles...
 
moi ce que je veux c ça:
 
"
// Add a single face with all normals pointing in the same direction.
    D3DVECTOR avVertices[4] = { 0.0f, 0.0f, 0.0f,   0.0f, 0.0f, 1.0f,
                          1.0f, 0.0f, 1.0f,   1.0f, 0.0f, 0.0f };
    D3DVECTOR avNormals[4] =  { 0.0f, 1.0f, 0.0f,   0.0f, 1.0f, 0.0f,
                          0.0f, 1.0f, 0.0f,   0.0f, 1.0f, 0.0f };
    DWORD adwFaceData[] = { 4, 0, 0, 1, 1, 2, 2, 3, 3, 0 };
 
    if( FAILED( pMeshBuilder->AddFaces( 4, avVertices, 4, avNormals, adwFaceData, NULL ) ) )
  return FALSE;
    return TRUE;
"
 
merde c un peu le bordel cette indentation... bon ça c du directX 7, et tu vois la foncitone AddFace permet de définir une face avec une liste de vertices passé en param (adwFaceData)...
 
je voudrai pouvoir faire la même chose avec Direct3D 8, car avec Direct3D7, c le gros bordel pour faire ne serait-ce qu'un cube !
(mais pour l'instant je n'y arrive même pas avec Direct3D8 ;) ...)

n°16878
verdoux
And I'm still waiting
Posté le 04-03-2001 à 01:31:44  profilanswer
 

Je connais rien à DX8 mais ce lien peut t'intéresser:
http://www.wazooenterprises.com/tu [...] 1-D3D8.asp
Au début, c'est l'initialisation, la création d'un vertex buffer, d'un index buffer et enfin l'utilisation des vertex avec  
_pd3dDevice->DrawIndexedPrimitive(D3DPT_TRIANGLELIST,
        0,
        8,
        0,
        12);

n°16925
ZZZzzz
Posté le 04-03-2001 à 15:07:13  profilanswer
 

MERCI Verdoux !!!!! tu es mon sauveur, c exactement ce que je voulais !!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Direct3D 8, je cherche un tueur en programmation ;-) !!

 

Sujets relatifs
cherche fonction de date en ASP .. 1 peu specialeJE CHERCHE DES PARTENAIRES POUR PUB
Je cherche un forom qui a rapport avec la musique.Cherche DOC sur MTS en francais si possible
[VB] Cherche outils pour generation de rapportAccess Base de donnée, programmation
[CHERCHE] algo pour un jeux de billardprogrammation système unix
[VB] Je cherche à faire un visualisateur d'image (voir ds le msg).....bonjour,je cherche un programme en c de gestion de bibliothèque. Merci
Plus de sujets relatifs à : Direct3D 8, je cherche un tueur en programmation ;-) !!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR