CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Eux comment ca marche la 3D?

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Darkiller
Darkiller
Niveau 9
06 août 2002 à 16:43:00

Voila je voudrais qu on m explique avec des mots simple comment on fait pour afficher des images en 3D sur l´ecran.

Je m´explique.
J ai fait un petit programme sur calculette (TI83) qui peut afficher des polygone en 3D (en fil de fer)et je voudrais savoir si dans les jeux ca marche pareil.

Brève description du programme.
Il y a 3 matrices pour stocker les coordonnées de points.
Les matrices sont agencées de cette manière:
une colonne équivaut à un polygone.
si jai un carré (dans l espace) qui a pour point :
A(1,1,1) B(2,1,1) C(2,2,1) D(1,2,1)
mes trois matrices correspondront a ça :

la première
1
2
2
1

la deuxieme
1
1
2
2

la troisième
1
1
1
1

Au cas ou vous l auriez pas remarqué, la matrice 1 correspond aux coordonnées X, la matrice 2 correspond au coordonnées Y et la troisième correspond aux coordonnées Z.

Puis ya une boucle qui va calculer les coordonnées "sur l ecran" pour chaques points :

Sachant que Z est entre 0 et 100
X Y Z sont les coordonnées du points.
-> enregistre la valeur dans la lettre qui suit.

Z / 50 -> Z
X x Z -> X
Y x Z -> Y

Puis après le programme affiche le point avec les coordonnées X et Y seulement.
En clair c´est une histoire de proportionnalité.

Je vous prie de me répondre, ou de me demander si il y a quelque chose que vous avez pas compris.

Lightness1024
Lightness1024
Niveau 10
07 août 2002 à 13:17:57

normalement pour stoquer les coordonnées on utilise des vecteurs (au sens large, pas forcément des rayons, un programmeur pourrait appeler ca un tableau de 3 éléments a une dimension)

struct vec3d
{
float x
float y
float z
}

si tu connais le C, voila comment on stoque une coordonnée.

et pour stoquer plusieurs coordonnées, on fait un tableau de vec3d.

dans un fichier mesh on stoque 3 type de listes:

la liste des points (vec3d)
la liste des lignes (une ligne relie 2 points)
et la liste des faces (un face utilise au minimum 3 points, et il doivent forcément etre coplanaires, pour eviter les problemes, on utilise des faces de 3 points (triangles) obligatoirement, car par propriété 3 points sont forcément coplanaires.)

pour faire la projection des coords 3D en coord2D on utilise une matrice, c´est plus efficace plus precis et plus rapide. j´ai encore jamais réussi a comprendre malgré les multpiples explications kon ma donné mais je sais ke c´est une matrice en 4 par 4 contenant des facteurs et on arrive a projeter en faisant un certain calcul ke je le repete n´ai jamais réussi a comprendre.
mais c´est parfaitement explicable par qqun ki le connais bien.

ensuite vient les problemes de faces cachées et d´objets cachés le problemes des textures puis encore apres, de l´eclairage et ensuite de l´optimisation et des effets speciaux et apres de l´acceleration grace au HAL et la on est otbligé d´utiliser DirectX (ou OpenGL).

voila si ta d´autres kestions et ben si je peux repondre je répondrait.

Darkiller
Darkiller
Niveau 9
07 août 2002 à 16:32:04

merci pour ces quelques explications
j ai peut etre pas tout compris pis ce qui m interressé c été surtotu le fameux calcul que tu ne comprend pas.

merci quand meme.

le truc des faces cachées , la jy suis pas encore, j ai aucune idee de comment on peut resoudre le probleme. aors pour ceux qui est des optimisations....je suis out

GamerFou2
GamerFou2
Niveau 7
07 août 2002 à 20:01:49

Ca serait un peu trop long à expliquer ici mais fait des recherches sur le net sur les matrices de projection . .. Tu devrais trouver toutes les réponses à tes questions :)

Lightness1024
Lightness1024
Niveau 10
08 août 2002 à 10:31:31

oui et d´ailleur ya plusieurs techniques, un pote et moi on a fait un programme en Qbasic pour afficher des trucs en 3D (des points et des lignes) et on a pas utilisé une matice mais un simple calcul basé sur le théorème de Thalès que l´on avait trouvé sur le net donc tu vois ce qui t´attend:
www.google.fr

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware