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

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C++ / DirectX 8] comment vs avez appris Direct3D

n°94092
El_gringo
Posté le 28-01-2002 à 12:03:15  profilanswer
 

Reprise du message précédent :

legreg a écrit a écrit :

tout ca est tres bien explique
dans la doc encore une fois.
 
Toutes les informations liees aux vertex et necessaires
au T&L ainsi qu'a l'affichage sont inclus dans ton format
de vertex.
Une normal c'est un vecteur de surface : sur ton triangle
suivant que tu le regardes d'un cote ou de l'autre ton
vecteur de surface pointe dans un sens ou dans l'autre
cherche pas a comprendre c'est la definition d'une normale.
Cette normale sert principalement a calculer les valeurs d'eclairement donc dans le cas d'un modele eclaire il est
important qu'elle soit correcte.  
 
Pour le code exemplaire: effectivement, tu ne t'attends
pas a ce que le code DirectX soit crade et plante
sur la moitie des machines.  
Je compte sur toi pour faire aussi bien :D
 
A+
LEGREG  




 
heu... T&L au fond c quoi ? Texturing and Lighting ? non, c un truc que font certaines cartes graphiques, non ?
Ouais, ms le pb c que g trouvé à aucun endroit (à part à l'initialisation) ou ce vecteur normal est utilisé. c à cause des vertex buffers, c ça ? c un flag d'une fonction qui dit qu'on précise la normale de chaque vertice dans le vertex buffer ? quel flag de quelle fonction alors ?
 
Je compte pas seulement faire aussi bien que Microsoft qd il programme, je compte faire 100 fois mieux, évidement !
Et j'espère bien que toi aussi. c la moindre des choses :D

mood
Publicité
Posté le 28-01-2002 à 12:03:15  profilanswer
 

n°94104
chrisbk
-
Posté le 28-01-2002 à 13:08:44  profilanswer
 

El_Gringo a écrit a écrit :

 
 
heu... T&L au fond c quoi ? Texturing and Lighting ? non, c un truc que font certaines cartes graphiques, non ?
Ouais, ms le pb c que g trouvé à aucun endroit (à part à l'initialisation) ou ce vecteur normal est utilisé. c à cause des vertex buffers, c ça ? c un flag d'une fonction qui dit qu'on précise la normale de chaque vertice dans le vertex buffer ? quel flag de quelle fonction alors ?
 
Je compte pas seulement faire aussi bien que Microsoft qd il programme, je compte faire 100 fois mieux, évidement !
Et j'espère bien que toi aussi. c la moindre des choses :D  




 
 
T&L signifie que c la carte qui prends en charge les transformations et le calcul de lumiere (bref, le CPU fait rien, la carte se depatouille toute seule)
 
Le vecteur normal sert precisement a calculer la couleur d'un vertex en fonction de la lumiere ( plus vecteur lumiere et vecteur normale "se font face" plus le point recoit de lumiere)

n°94121
El_gringo
Posté le 28-01-2002 à 14:06:02  profilanswer
 

chrisbk a écrit a écrit :

 
 
 
T&L signifie que c la carte qui prends en charge les transformations et le calcul de lumiere (bref, le CPU fait rien, la carte se depatouille toute seule)
 
Le vecteur normal sert precisement a calculer la couleur d'un vertex en fonction de la lumiere ( plus vecteur lumiere et vecteur normale "se font face" plus le point recoit de lumiere)  




 
Ouais, mais donc, d'après ça, si la lumière est - je sais plus comment ça s'appel - l'équivalent d'un point de lumière située à l'infini, ce vecteur normal ne devrait servir à rien, non ?

n°94158
Ace17
Posté le 28-01-2002 à 15:23:42  profilanswer
 

Moi je l'ai, Physics for Game developers
C'est vraiment détaillé
Ca va on arrive a comprendre mais faut un peu s'accrocher quand meme. T'as pas intéret a etre allergique aux maths. :lol:

n°94239
LeGreg
Posté le 28-01-2002 à 18:13:37  profilanswer
 

chrisbk a écrit a écrit :

 
T&L signifie que c la carte qui prends en charge les transformations et le calcul de lumiere (bref, le CPU fait rien, la carte se depatouille toute seule)




 
nope
 
T&L c'est l'abreviation de transform and lighting
(en francais transformation et eclairage)
par opposition a la rasterisation c'etait toute la partie
du pipeline graphique qui n'etait pas prise en charge
par les cartes 3D grand public jusqu'a recemment.
(pipeline tel que defini par Silicon Graphics et OpenGL)
 
Donc recemment sont apparues des cartes PC grand public
(puisque du hardware dedie existait deja sur les stations
graphiques)  qui gerait ce fameux transform and lighting
en interne (Hardware TnL = unité de transformation et éclairage dediée).
 
Mais ca n'a qu'un lointain rapport avec ton probleme de normale..(meme si les normales sont utilisees dans le process de calcul d'eclairage mais bon..)
 
A+
LEGREG

n°94240
LeGreg
Posté le 28-01-2002 à 18:17:33  profilanswer
 

El_Gringo a écrit a écrit :

 
Ouais, mais donc, d'après ça, si la lumière est - je sais plus comment ça s'appel - l'équivalent d'un point de lumière située à l'infini, ce vecteur normal ne devrait servir à rien, non ?  




 
Ton point de lumiere a l'infini ca veut juste dire que
tes rayons lumineux sont paralleles mais ils ont toujours
une direction. Et c'est cette direction (incidence par rapport a la surface) ainsi que la direction d'observation qui intervient dans le calcul de l'eclairement.
 
A+
LEGREG

n°94359
bjone
Insert booze to continue
Posté le 29-01-2002 à 00:49:00  profilanswer
 

Ace17 a écrit a écrit :

Moi je l'ai, Physics for Game developers
C'est vraiment détaillé
Ca va on arrive a comprendre mais faut un peu s'accrocher quand meme. T'as pas intéret a etre allergique aux maths. :lol:  




 
oki merci.

n°94384
El_gringo
Posté le 29-01-2002 à 08:49:31  profilanswer
 

et comment vous expliquez ça (g encore pas vraiement cherché, ms là je peux pas, je suis pas chez moi... c frustrant. g envie de savoir) :
Dans l'appli "minimale" que m'a généré le wizard, on avait un triangle. g voulu en faire un carré. g donc changé la taille 3*sizeof (TypeDeVertex) réservée dans le CreateVertexBuffer (ou truc du style) en 4*sizeof (TypeDeVertex). g aussi ajouté pour chaque face. Un vecteur position, et un vecteur normal (0,0,-1) pour la face(le même que pr les 3 autres vertex de face), (O,O,1) pr l'autre coté (aussi). Au final, ça me donne un carré (comme je voulais), mais du coup:
vu de face, les 3 angles qui étaient ceux du triangle de base sont très sombre, et celui que g ajouté est très éclairé.
vu de l'autre coté le carré n'apparait même pas.
Evidement, c pas forcément faisable dis comme ça. il manque plein d'éléments. Ms si qqn à une idée...

n°94543
El_gringo
Posté le 29-01-2002 à 15:56:10  profilanswer
 

...pouf !

n°94621
LeGreg
Posté le 29-01-2002 à 19:14:14  profilanswer
 

c'est probablement a cause du backface culling qui est activé.
 
Quand tu rajoutes le vertex pour faire un carre c'est bien
de conserver les propriétés d'ordre de départ
(qui s'inversent une fois sur deux quand tu utilises des triangle strips).
 
Poste ton code ici tu verras mieux de quoi je veux parler.
 
A+
LEGREG

mood
Publicité
Posté le 29-01-2002 à 19:14:14  profilanswer
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
DirectX SDK: cmt utiliser graphedit avec WDM pour une PCTV?site opengl/directx - besoin d'aide
[DirectX] GUID -> external error[DIRECTX] Et en jscript?
[DIRECTX 7.0] ALPHA sur les vertex colors avec des texturesDirectX avec les MFC
Skinning (ou presque) avec DirectX 7.0opengl/directx
p'tit ancien d'OpenGl, un nouveau de DirectX :D 
Plus de sujets relatifs à : [C++ / DirectX 8] comment vs avez appris Direct3D


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