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

  FORUM HardWare.fr
  Programmation
  Divers

  Acceleration 3D openGL/D3D

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Acceleration 3D openGL/D3D

n°256283
durandal2
Goatse bless 'Murica
Posté le 28-11-2002 à 16:47:56  profilanswer
 

En fait j'aimerai savoir lorsqu'on utilise les fonction de prise en charge de la 3D par une carte specialisé, qu'est ce que le processeur prend en charge pour sa part? (a part le son, les IO et l'AI quand il y en a)

mood
Publicité
Posté le 28-11-2002 à 16:47:56  profilanswer
 

n°256301
Alload
Posté le 28-11-2002 à 16:59:47  profilanswer
 

La carte graphique s'occupe uniquement de transformer les triangles, les projeter et ensuite les remplir en utilisant des couleurs, textures, etc... Tout le reste est fait grâce au processeur.

n°256312
durandal2
Goatse bless 'Murica
Posté le 28-11-2002 à 17:06:28  profilanswer
 

Alload a écrit a écrit :

La carte graphique s'occupe uniquement de transformer les triangles, les projeter et ensuite les remplir en utilisant des couleurs, textures, etc... Tout le reste est fait grâce au processeur.




 
donc je dois comprendre que c'est le proc qui est oblige de recalculer la position des vertices a chaque mouvement de persos ou de camera, heu il fait quoi d'autre dans la 3D a part ca pendant l'acceleration?

n°256432
durandal2
Goatse bless 'Murica
Posté le 28-11-2002 à 18:47:04  profilanswer
 

[:yoyoz]

n°256453
bjone
Insert booze to continue
Posté le 28-11-2002 à 19:25:56  profilanswer
 

durandal2 a écrit a écrit :

 [:yoyoz]  




 
alload t'as fait le topo...
 
qu'est-ce que t'entends par processeur, le cpu ou le gpu ?
 
imaginons un jeu de bagnole ou tu as 8 voitures....
 
tes voitures font 1000 points (vertexs), et 2000 facettes (triangles), et on a un texture différente par modèle de voiture, et chaque modèle de voiture fait donc au total 2 Mo (au blair)
 
 
le gpu maintiens les 2 mo de chaque modèle.
 
le cpu donne les ordres de traçages:
il lui dit "fout moi le modèle B à la position Zorgl de direction truc, y'a 3 lumières, une rouge, une jaune dégeulleuse et une verte délavée, et pi y'a la texture bordel".
 
le gpu transformes les points du modèle B, et effectues les calculs d'éclairage en fontion des sources de lumière. dans la foullée il traçe les facettes avec la texture dont les couleurs sont modifiés par les calculs d'éclairages.
 
le cpu peut glander pendant ce temps (ou préparer le prochain coup de fouet pour l'esclave gpu)
 
----
 
le cpu donne les ordres, c'est lui qui choisit qui doit être traçé et où.... (si dans un jeu tu as 400 voitures et en moyenne 4 de visible, tu dois, en tant que programmeur, utiliser des techniques pour savoir quoi est visible et de passer au gpu que ce qui est dans le champ de vision)


Message édité par bjone le 28-11-2002 à 19:36:41
n°256455
bjone
Insert booze to continue
Posté le 28-11-2002 à 19:29:15  profilanswer
 

en fait y'a plusieurs possibilités, hormis le chargement des objets depuis le disque dur, le cpu peut avoir à ne jamais palper la géomtrie des objets: celle-ci peut etre contenue complètement en ram vidéo, et la seule chose que tu veux voir passer sur l'agp ou le pci, c'est des ordres de traçages....
 

n°256713
durandal2
Goatse bless 'Murica
Posté le 29-11-2002 à 02:53:38  profilanswer
 

bjone a écrit a écrit :

 
 
alload t'as fait le topo...
 
BLABLABLA (fort interessant)




 
exactement la reponse que j'attendais
 :D

n°256819
LeGreg
Posté le 29-11-2002 à 11:01:15  profilanswer
 

durandal, ta question n'a pas grand sens.. (explications peu apres)
 
le partage des taches entre un processeur generaliste (CPU) et le processeur specialise (un ou plusieurs) depend essentiellement de la maniere dont on programme (1)
et du type de capacites exposees par le hardware (2).
 
Il serait beaucoup plus interessant pour toi de te demander de quelles taches est compose la chaine d'affichage. Ensuite tu peux comprendre comment tel ou tel processeur peut effectuer ces taches de maniere plus efficace que le processeur principal.
 
Premiere generation de hardware :  
- rien n'est accelere, puis on commence a accelerer quelques taches comme le double buffering (recopie d'ecran rapide ou simple changement de pointeurs), le remplissage geometrique (simple et avec des motifs), l'affichage de sprites.
- generation suivante, on accelere l'elimination des faces cachees (z-buffer ou tile architecture), on peut stocker des textures en memoire video, on accelere le blending (melange du motif avec le fond deja trace). On peut preciser des valeurs de couleurs sur les bords qui seront interpolees sur la surface du triangle.
- ensuite, on accelere le triangle setup. On passe des triangles deja transformes, voire sous forme de strips et on effectue un clipping sur les bords, on calcule la pente pour l'interpolation, on accelere le mipmapping et le filtrage des textures.
- On effectue la transformation sur la carte graphique, avec un nouveau processeur specialise ou integre au processeur graphique. la transformation pour l'instant inclut uniquement le calcul des coordonnees ecran de sommets qui sont donnees dans leur systeme de coordonnees objet. On calcule les eclairages a la maniere d'OpenGL (par sommet).
- Les transformations incluent desormais de plus en plus de choses, on peut effectuer du skinning de modeles sur la carte, modifier les normales et les valeurs d'eclairage, afin d'effectuer un eclairement par pixel (ou par fragment).
 
LeGreg


---------------
voxel terrain render engine | animation mentor
n°312895
durandal2
Goatse bless 'Murica
Posté le 19-02-2003 à 03:54:36  profilanswer
 

legreg a écrit :

durandal, ta question n'a pas grand sens.. (explications peu apres)
 
le partage des taches entre un processeur generaliste (CPU) et le processeur specialise (un ou plusieurs) depend essentiellement de la maniere dont on programme (1)
et du type de capacites exposees par le hardware (2).
 
Il serait beaucoup plus interessant pour toi de te demander de quelles taches est compose la chaine d'affichage. Ensuite tu peux comprendre comment tel ou tel processeur peut effectuer ces taches de maniere plus efficace que le processeur principal.
 
Premiere generation de hardware :  
- rien n'est accelere, puis on commence a accelerer quelques taches comme le double buffering (recopie d'ecran rapide ou simple changement de pointeurs), le remplissage geometrique (simple et avec des motifs), l'affichage de sprites.
- generation suivante, on accelere l'elimination des faces cachees (z-buffer ou tile architecture), on peut stocker des textures en memoire video, on accelere le blending (melange du motif avec le fond deja trace). On peut preciser des valeurs de couleurs sur les bords qui seront interpolees sur la surface du triangle.
- ensuite, on accelere le triangle setup. On passe des triangles deja transformes, voire sous forme de strips et on effectue un clipping sur les bords, on calcule la pente pour l'interpolation, on accelere le mipmapping et le filtrage des textures.
- On effectue la transformation sur la carte graphique, avec un nouveau processeur specialise ou integre au processeur graphique. la transformation pour l'instant inclut uniquement le calcul des coordonnees ecran de sommets qui sont donnees dans leur systeme de coordonnees objet. On calcule les eclairages a la maniere d'OpenGL (par sommet).
- Les transformations incluent desormais de plus en plus de choses, on peut effectuer du skinning de modeles sur la carte, modifier les normales et les valeurs d'eclairage, afin d'effectuer un eclairement par pixel (ou par fragment).
 
LeGreg


 
 
ton explication de la chaine est vraiment a retenir, c'est pas vraiment pour moi, mais j'aime bien comprendre certaines choses :D


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

  Acceleration 3D openGL/D3D

 

Sujets relatifs
[opengl]calcul de normales[opengl]probleme d'affichage de texture
[OpenGL] Création de Map pour un jeu en 3DOpenGL - vertex color operation ...
opengl probleme (photos inside)venez sur www.****le site opengl et directx,,,
Un bon livre sur la prog OpenGL ? Opengl en C compilé sous Linux pour exécution sous windows?
problème d'OpenGL[openGL] comment installer la GLUT avec windows nt4 ?
Plus de sujets relatifs à : Acceleration 3D openGL/D3D


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