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

 


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

DirectX et C#

n°1183845
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 00:11:45  profilanswer
 

Reprise du message précédent :
d'ailleurs, c'est i / (WIDTH - 1) et j / (HEIGHT - 1) plutôt je pense... M'enfin c'est pas ça qui devrait empêcher le truc de marcher... à moins que la position 1,1 de la texture soit obligatoirement attribuée à un vertex ?

mood
Publicité
Posté le 25-08-2005 à 00:11:45  profilanswer
 

n°1183846
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 00:19:32  profilanswer
 

Groumpf ! Ben si, il faut impérativement que la position (1,1) de la texture soit attribuée à un vertex :D
 
http://magicbuzz.multimania.com/files/D3Dtexture.PNG
 
Ceci dit, là je comprends pas pourquoi y'a qu'un bout de mon plan qui est texturé, puis qu'après ça fait n'importe quoi !
 
Projet mis à jour :
http://magicweb.manga-torii.com/testd3D.zip
 
Bon, dodo, merci !


Message édité par Arjuna le 25-08-2005 à 00:19:59
n°1183848
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 00:22:44  profilanswer
 

Pis c'est qu'un damier de 10x10 mon plan, donc c'est pas un éventuel problème de résolution de la texture par rapport au nombre de vertices...
 
Rassurez-moi, faut quand même pas avoir un diviseur de la résolution de la texture comme nombre de vertices ! :??:

n°1183849
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 00:35:51  profilanswer
 

Lol ! Je comprends plus rien :D
 
J'ai changé :

Code :
  1. verts[i * WIDTH + j].Tu = (float)(i);
  2. verts[i * WIDTH + j].Tv = (float)(j);


 
Et maintenant j'ai ça :
http://magicbuzz.multimania.com/files/D3Dtexture2.PNG
 
La texture refuse de s'étaller sur mes vertices (dans le premier test, elle ne couvre que deux vertices, soit un quadrilatère) mais accepte de se recopier sur chaque quadrilatère de mon damier !
 
Y'aurait pas un problème dans mes indices :??:

n°1183850
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 00:36:16  profilanswer
 

A noter que l'éclairage est carrément mieu quand il y a une texture !

n°1184000
bjone
Insert booze to continue
Posté le 25-08-2005 à 11:02:41  profilanswer
 

Arjuna a écrit :

Groumpf ! Ben si, il faut impérativement que la position (1,1) de la texture soit attribuée à un vertex :D
 
http://magicbuzz.multimania.com/files/D3Dtexture.PNG
 
Ceci dit, là je comprends pas pourquoi y'a qu'un bout de mon plan qui est texturé, puis qu'après ça fait n'importe quoi !
 
Projet mis à jour :
http://magicweb.manga-torii.com/testd3D.zip
 
Bon, dodo, merci !


 
là, tes coordoonées sont clampés, et seul le premier couple de triangles couvre la surface de la texture.
les autres coordoonées des autres triangles sortent du domaine [0-1], la coordoonée > 1 étant clampée, ça bloque à 1.
 

n°1184011
bjone
Insert booze to continue
Posté le 25-08-2005 à 11:06:18  profilanswer
 

Arjuna a écrit :

Lol ! Je comprends plus rien :D
 
J'ai changé :

Code :
  1. verts[i * WIDTH + j].Tu = (float)(i);
  2. verts[i * WIDTH + j].Tv = (float)(j);


 
Et maintenant j'ai ça :
http://magicbuzz.multimania.com/files/D3Dtexture2.PNG
 
La texture refuse de s'étaller sur mes vertices (dans le premier test, elle ne couvre que deux vertices, soit un quadrilatère) mais accepte de se recopier sur chaque quadrilatère de mon damier !
 
Y'aurait pas un problème dans mes indices :??:


 
là c'est presque pareil, sauf qu'au lieu de clamper, tu tiles.
 
si tu veux que la texture couvre ton maillage de triangles, il faut faire un truc comme ça:
 

Code :
  1. verts[i * WIDTH + j].Tu = (float)i/(WIDTH-1);
  2. verts[i * WIDTH + j].Tv = (float)j/(HEIGHT-1);


 
pour avoir -vraiment- les vertices qui vont de 0 à 1, en passant par 0.1 0.2 0.3 0.4 .... 0.9 1
etc....

n°1184317
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 15:34:51  profilanswer
 

C'est ce que j'ai fait, et il me semble que c'est ce qu'il y a dans mon projet. Et justement, c'est ça qui marche pas : la texture est mappée sur les deux permiers triangles au lieu de s'étirer sur toute la surface !
 
Cf deux derniers posts de la page 1 et deux premier de cette page
 
Je veux bien être nul et pas comprendre grand chose à ce que je fais, mais quand c'est aussi évident, chuis pas neuneu non plus, c'est le premier truc que j'essaie ;)

n°1184443
chagarou
Posté le 25-08-2005 à 17:10:19  profilanswer
 

bjone a écrit :

là c'est presque pareil, sauf qu'au lieu de clamper, tu tiles.
 
si tu veux que la texture couvre ton maillage de triangles, il faut faire un truc comme ça:
 

Code :
  1. verts[i * WIDTH + j].Tu = (float)i/(WIDTH-1);
  2. verts[i * WIDTH + j].Tv = (float)j/(HEIGHT-1);


 
pour avoir -vraiment- les vertices qui vont de 0 à 1, en passant par 0.1 0.2 0.3 0.4 .... 0.9 1
etc....


Le probleme qu'il a, vient une raison bien plus conne que ca  [:boidleau]  
 
Faut remplacer les deux ligne par:

Code :
  1. verts[i * WIDTH + j].Tu = i/(float)(WIDTH-1);
  2. verts[i * WIDTH + j].Tv = j/(float)(HEIGHT-1);


 
En effet quand on divise un entier par un entier en c# comme en c++ on se retrouve a faire un division entière. Donc  pour bien préciser que l'on veut faire une division normale il faut caster le diviseur en flotant :whistle:  
C'était con hein? [:ddr555]


Message édité par chagarou le 25-08-2005 à 17:20:50
n°1184446
bjone
Insert booze to continue
Posté le 25-08-2005 à 17:15:42  profilanswer
 

oui très  :jap:

mood
Publicité
Posté le 25-08-2005 à 17:15:42  profilanswer
 

n°1184481
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 17:49:14  profilanswer
 

groumpf !

n°1184483
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 17:49:32  profilanswer
 

je dois en avoir partout de ça en plus :D

n°1184576
Arjuna
Aircraft Ident.: F-MBSD
Posté le 25-08-2005 à 19:37:09  profilanswer
 

Finalement, avec ça ça marche :)
 

Code :
  1. verts[i * WIDTH + j].Tu = (float)i / (float)(WIDTH - 1);
  2. verts[i * WIDTH + j].Tv = (float)j / (float)(HEIGHT - 1);


 
Merci bien :)
 
Bon, maintenant, je vais tenter de comprendre comment faire DEUX objets :D
 
Et voir aussi si j'arrive à faire des ombres :D
 
Sinon, au niveau de l'architecture, vous en pensez quoi ? Je suis complètement à côté de la plaque, ou si ça vous semble correct ?

n°1184593
bjone
Insert booze to continue
Posté le 25-08-2005 à 20:00:45  profilanswer
 

bin l'architecture .... y'en as pas non ?  
 
sinon, le ReadKeyboard() & ReadMouse() ne devraient pas être dans le render().
 
et le render() ne devrait pas dans le OnPaint(), si tu fais le rendu en boucle dans ton:
 
while(frm.Created)
{
frm.Render();
Application.DoEvents();
}
 
donc avec un OnPaint() vide, je ferais:
 
while(frm.Created)
{
Application.DoEvents();
frm.Render();
ReadKeyboard();
ReadMouse();
}
 
ça a beau rien changer en final, plus tard une fois que tu auras des étapes claires avec:
- les entrées utilisateur
- l'actualisation des objets
- le rendu
ça permettera un meilleure lisibilité/construction.

n°1184596
bjone
Insert booze to continue
Posté le 25-08-2005 à 20:02:03  profilanswer
 

de la même manière, le:
 
if (pause)
    return;
 
n'a rien a faire dans le render()
 
le render() c'est le rendu et rien d'autre...

n°1184597
bjone
Insert booze to continue
Posté le 25-08-2005 à 20:03:47  profilanswer
 

tiens:
 
et déplaçe une fenêtre par dessus ton appli :D

n°1184818
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-08-2005 à 09:11:30  profilanswer
 

coucou :)
 
merci pour tout ça.
 
finalement, pour l'instant, je suis en train de tester Tzu3D, puisque je suis une bille en DX et surtout que ça me gonfle plusqu'autrechose (je panne rien, impossible de trouver un tuto "complet" - genre avec autrechose qu'un seul truc traîté à la fois) ni d'explication digne de ce nom.
 
Je vous remercie grandement de m'aider, mais je me rends compte que même avec votre aide, je ne suis pas près de réussir à faire le rendu de 3 shapes texturés à l'écran, et encore moins gérer les collisions. S'il ne me reste plus que la gestion du jeu et l'AI, ce sera autant de boulot de moins !
 
Enfin, avec Tzu3D c'est mal parti aussi vous me direz : le moteur est en VB.NET et les tuto aussi. Moi j'ai pas installé la couche VB, juste C#. Résultat, je dois convertir le code en C# (et mine de rien, c'est plus galère qu'on ne pourrait le croire !) et là je me heurte à un problème de tableau d'objets dans le tuto 3, et je ne comprend pas comment en VB ça peut marcher (alors évidement, en C# ça marche pas du tout :D)

n°1185713
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-08-2005 à 20:39:11  profilanswer
 

Des news de moi :)
 
Bon, j'avance tranquillement avec Tzu3D.
 
Enfin... j'avance, c'est un bien grand mot ! Je traduis les tutos en C#, ce qui me permet, de façon simple, de voir un peu plus en détail le SDK, comprendre le code, mais aussi faire face aux spécificités du langage C#.
C'est chiant ces divisions entières, je me suis encore fait avoir hier soir :D
 
Comme ça, au moins je rends un peu service (même si n'importe qui serait capable de faire ça mieu que moi, vu que je suis le seul à le faire, ben c'est déjà pas mal :D)

n°1190666
ShadowTzu
Posté le 02-09-2005 à 16:35:58  profilanswer
 

coucou :p  oué tien il y a du taf pour toi  :D  j'ai fait une correction des bug avec C# il ne devrait plus y avoir de problème ;) si tu pouvais me traduire le reste des tutos :D  ... :love:

n°1190778
Arjuna
Aircraft Ident.: F-MBSD
Posté le 02-09-2005 à 18:04:09  profilanswer
 

oups, désolé, c'est vrai que j'ai mis de côté le dev 3D pour le moment, je voulais avancer sur le finding path et la modélisation du réseau ferré en mémoire... et j'y arrive pas :D
 
bon, je regarde ça ce soir et ce we ;)

n°1232068
Lord_SoniK
Posté le 27-10-2005 à 00:44:59  profilanswer
 

Salut, je suis un peu dans le meme cas que toi et je pense avoir quelques réponses pour toi. Vu que le topic est un peu vieux et que tu poses des questions dans tous les sens, peux tu résumer les questions qui te restent, je pourrais peut être répondre à certaines :)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[VB .Net] Création de controles bloquée par DirectX[DirectX] Info sur D3DXMatrixLookAtLH()
analyse video, graphismes 2D, directX ?Recherche de graphiste(s) pour un RPG VB/DirectX !
DirectX : Tutorial 2Recherche SDK DirectX 8.1 pour VC++
C++ & DirectX & 3D Studio Max/MayaEffet 3d : faire une vaguelette sur le bureau windows en DirectX ?
La fin de DirectXPour débutant : OpenGL ou DirectX ?
Plus de sujets relatifs à : DirectX et C#


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