Koyo-K
Il existe en DirectX ( a ma faible connaissance) deux types de rendering:
Le Hardware et le Software rendering:
Admettons que tu lance une application qui utilise les vertex shaders, ta carte a été spécialement construite pour supporter ce genre de procédé, ainsi, l´application tournera en utilisant l´implémentation matérielle de ta carte, c´est le hardware processing ou HAL.
Maintenant tu lance une appli qui utilise les pixels shaders, ta carte graphique bien que presque récente ne supporte pas ce procédé, l´application ne peut donc pas faire tourner l´appli en utilisant l´implémentation materielle de ta carte...puisqu´elle n´est pas conçut pour !
L´appli au lieu de te renvoyer betement une erreur et de quitter, va changer de technique pour s´afficher, elle va émuler le fonctionnement materiel, mais ça ne reste que virtuel, et c´est très lent, c´est le software processing ou REF
Si le software processing continue d´etre utilisé, c´est parcequ´il est utile pour debugger une application, sinon tel qu´il rend l´appi, c´est insupportable de voir du 2 frames per second
Bon c´est une version simplifiée, mais c´est compréhensible ainsi et pas trop erroné ( j´espere avoir du feedback de meilleurs que moi pour pas dire de c0nneries...)
Le fonctionnement User/Software/Hardware via les supers schémas que tout programmeur graphique doit regarder ( en principe
)
Application
DirectX
REF ou HAL
drivers
carte graphique
Voici la version overlamortquitue
http://rush3d.com/reference/opengl-bluebook-1.0/figures/OpenGLOper.gif
ça fonctionne ainsi pour OpenGL, mais je doute que la rasterization soit très différente pour DirectX, a verifier donc...
J´ai cherché sur la MSDN coté articles technique sur DirectX mais c´est fullvaste, donc a vos lampes frontales et good luck
NB: Si mes souvenirs sont bons ils y a un schéma du traitement basic des opérations dans la doc GPU Nvidia
Hope that helps