Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Direct3D8 Vertex buffer... [ Archives Visual Basic / Graphique ] (NoRabbit)

dimanche 17 août 2003 à 17:49:09 | Direct3D8 Vertex buffer...

NoRabbit

hello,

j'aimerais savoir si on peut modifier les coordonnées d'une texture d'un "vertex buffer" et si oui, comment.

et une autre question :

faut il obligatoirement ajouter une fonction qui calcule quel objet doit être rendu avant un autre afin de ne pas avoir d'objet apparaissans devant d'autres situés devant lui ? ou y a-t-il une fonction toute faite pour ça ?

merci.

.:. NoRabbit .:.

dimanche 17 août 2003 à 18:20:41 | Re : Direct3D8 Vertex buffer...

Proger


Pour la premiere question, il faut que tu crée des "custom" vertex avec les paramètres tu As Single et tv As Single (D3DFVF_TEX1), ensuite il suffit de prendre régulièrement les vertex d'un vertexbuffer avec la fonction D3DVertexBuffer8GetData dans une liste de "custom" vertex, changer les coordonnées tu et tv puis renvoyer le résultat dans ton vertexbuffer avec D3DVertexBuffer8SetData



Pour les objets, non pas besoin de fonction : le Zbuffer s'occupe de tout. si tu as un nanard avec le zbuffer, mets un un a la place d'un zéro lors du calcul de projection :
3DXMatrixPerspectiveFovLH matProj, FOV, Aspect, 0, Fond
ne marche pas alors que
3DXMatrixPerspectiveFovLH matProj, FOV, Aspect, 1, Fond
fonctionne

dimanche 17 août 2003 à 18:54:03 | Re : Direct3D8 Vertex buffer...

NoRabbit

merci, mais j'ai toujours un problème de profondeur.

en fait, je n'utilise pas de vertex buffer pour le moment.
Je crée pour chaque "objets" une surface plane carrée en délimitant 4 points et en y inscrivant les coordonnées de la texture pour ensuite l'afficher, et ce à chaque rendu.

en tournant autour de mes objets (ayant une profondeur différente), je remarque que les objets que je demande d'afficher en dernier sont dessinés au-dessus des autres, même lorsqu'ils se trouvent derrière ceux-ci.

j'ai modifé comme tu me l'as dis le "3DXMatrixPerspectiveFovLH..." avec toutes sortes de valeurs (0 ; 1 ; 0.1 ; ...) et ça ne fonctionne toujours pas.

Peut être est-ce parce que je n'utilise pas de vertex buffer ?(mais ça ne me semble pas logique)

voilà, j'hespère que quelqu'un pourra me dire ce qu'il faut faire, ce que peut-être je devrais faire ou ce que je ne devrais pas faire... bref, j'ai besoin d'aide :-)

merci d'avance.

.:. NoRabbit .:.

dimanche 17 août 2003 à 20:49:59 | Re : Direct3D8 Vertex buffer...

Proger

a mon avis c'est toujours un problème de zbuffer.
essaye de modifier son intialisation :
.SetRenderState D3DRS_ZWRITEENABLE, 1
.SetRenderState D3DRS_ZENABLE, D3DZB_USEW
.SetRenderState D3DRS_ZFUNC, D3DCMP_LESSEQUAL
C'est ce que j'utilise dans une de mes sources 3D. j'ai juste mis 4 mois pour fixer le problème de zbuffer (tu peux l'interpréter soi comme un "proger est un gros nullos" ou comme "ok je vois ce qui m'attend" ;p )

J'ai aussi activé ce truc-là, je sais pas trop.... ça peut aider, peut-être ?
.SetRenderState D3DRS_STENCILENABLE, 1
.SetRenderState D3DRS_STENCILFUNC, D3DCMP_LESS

Pour nettoyer :
.Clear 0, ByVal 0, D3DCLEAR_TARGET Or D3DCLEAR_ZBUFFER, 0, 1, 32768



Bon sinon, si tu utilise des "DrawPrimitiveUP" au lieu de "DrawPrimitive", en fait ça ne change pas grand chose au problème de zbuffer .... si ce n'est que dx8 travaille plus vite avec un bon vertexbuffer affiché via drawprimitive (d'après expérimentation perso)

dimanche 17 août 2003 à 21:43:09 | Re : Direct3D8 Vertex buffer...

NoRabbit

c'est sympa, mais aucune des modifications ne fonctionne :(

ce qui m'énerve, c'est que l'exemple sur lequel je me suis basé fonctionne parfaitement !
en plus, chez moi, il y a des moments où le carré semble passer au-dessus de l'autre mais revient directement derrière à l'instant suivant... ?!?

en tous cas, c'est très gentil de t'être penché sur mon problème, je crois que je vais tout réécrire depuis le début et on verra bien !

.:. NoRabbit .:.



Cette discussion est classé dans : buffer, fonction, objet, vertex, direct3d8


Répondre à ce message

Sujets en rapport avec ce message

HELP : Appel d'une fonction Excel depuis un formulaire sous Acces... [ par ragnagnac ] Bonjour à tous,Voilà, j'ai un petit soucis que je vais essayer d'expliquer le plus clairement possible.Je développe une application sous Access2000 en Syntaxe fonction OpenDataSource(...) de l'objet ole pour word [ par kali ] Bonjour,je recherche la signification des différents parametres de OpenDataSource(...) , utilisée pour ouvrir un fichier de données en vue d'une fusio rotation objet directx7 [ par survcopt ] Salut j'ai crée une petite fenetre qui affiche un objet .X , je voudrais lui donner des consignes angulaires du style 3° sur X , 4° sur Y ... , la seu Savoir si un objet est Nothing [ par Talere ] Bonjour,J'utilise la fonction Range.find d'Excel et lorsque qu'aucune cellule est trouvée, la fonction renvoie "Nothing". Je cherche à savoir si l'obj [image] redimensionner [ par rastamath69 ] Rastamath69,salut,g voudrais afficher des images (.jpg) dans un objet IMAGE, sans que celles-ci soient deformées.Cad que juska present j'utilise la fo Variable objet [ par virginia ] BonjourComment créer une variable objet avec le control Inet et la fonction Createobjecten fait je cherche les arguments à mettre dans la fonctioncrea API GRAPHIQUE [ par Freneticode ] ---> FrenetiCodeHello a toutes et a tousun grand merci a fredlynx pour ces lien utilies, qui m'on fait avancer dans mes projet. de plus mon dernier p API GRAPHIQUE [ par Freneticode ] ---> FrenetiCodeHello a toutes et a tousun grand merci a fredlynx pour ces lien utilies, qui m'on fait avancer dans mes projet. de plus mon dernier p API GRAPHIQUE [ par Freneticode ] ---> FrenetiCodeHello a toutes et a tousun grand merci a fredlynx pour ces lien utilies, qui m'on fait avancer dans mes projet. de plus mon dernier p Comment récupérer un Record dans un objet ADO (but: audit trail) [ par ChrisD24 ] Bonjour à tous,J'aimerais pouvoir affecter à un objet (ADODB.Record???) le record courant d'un recordset.Le but est de faire de l'audit trail sur l'en


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.