Back

Cg – FAQ

 
 
Le langage Cg  Les plates-formes  Le toolkit Cg NVIDIA  Qui utilise le Cg?


Le langage Cg

Qu'est-ce que le Cg ?
Le Cg (le " C pour le graphisme ") est le langage de haut niveau conçu pour la programmation des GPU développé par NVIDIA en étroite collaboration avec Microsoft.

Qui est en charge de la maintenance de la spécification du langage Cg ?
NVIDIA est responsable de la maintenance de la spécification du langage Cg et continuera à collaborer avec Microsoft afin d'assurer la compatibilité du Cg avec le langage HLSL (High Level Shading Language) de DirectX.

Le Cg est-il protégé par des droits de propriété ?
La spécification du langage Cg est publiée et ouverte dans le sens où d'autres constructeurs peuvent implémenter des produits basés sur celle-ci. Pour encourager ce phénomène, NVIDIA a mis la technologie du Compilateur Cg à la disposition de tous au travers d'une licence gratuite et sans restriction

Les mises en œuvre des compilateurs Cg des différents constructeurs sont en général protégées par des droits de propriété et appartiennent à leurs créateurs. NVIDIA a développé le Compilateur Cg de NVIDIA et en est le propriétaire, et espère que les autres constructeurs développeront leurs propres compilateurs Cg et les encourage à le faire.

Le Cg remplace-t-il OpenGL ?
Non, le Cg fonctionne comme une couche située au-dessus d'OpenGL. Les compilateurs Cg créent du code assembleur dans les formats définis par les extensions OpenGL comme ARB_vertex_program, ARB_fragment_program et NV_vertex_program, et dans le format défini par OpenGL 1.4.

Le Cg remplace-t-il DirectX ?
Non, ce langage fonctionne comme une couche située au-dessus des API pixel shaders et vertex shaders de DirectX, et crée le code shader nécessaire pour exécuter des vertex shaders et des pixel shaders DirectX 8.0 et DirectX 9.0.

Comment se positionne-t-il par rapport au HLSL de Microsoft ?
La spécification du langage Cg est compatible avec le HLSL (High Level Shading Language) de Microsoft. Les shaders Cg respectent les normes établies par le tout dernier format D3DX Effects de Microsoft et sont en outre totalement compatibles avec le HLSL de Microsoft.

Quelle est la différence entre le langage Cg et un compilateur Cg ?
Le langage Cg a une syntaxe et une grammaire adaptées aux GPU programmables en temps réel. Un Compilateur Cg est une application qui accepte les entrées en langage Cg et dont les sorties adoptent l'un des formats de langage assembleur standard acceptés par les GPU programmables modernes.

Quel rôle jouera NVIDIA dans l'avenir d'OpenGL ?
NVIDIA s'engage à faire progresser OpenGL et, dans cette optique, va participer activement à la prochaine étape de l'évolution d'OpenGL. NVIDIA a proposé et mené le développement d'OpenGL 1.4, dont le composant de base est une interface de langage d'assemblage pour matériel de vertex de GPU programmables. NVIDIA, qui a réalisé avec succès cette révision d'OpenGL, travaille actuellement avec l'ARB pour définir et développer la prochaine révision d'OpenGL, dont l'une des principales fonctionnalités sera la programmabilité de fragments/pixels.

Les plates-formes

Quelles plates-formes le Compilateur Cg de NVIDIA Cg prend-t-il en charge ?

  1. Windows (DirectX 8, DirectX 9, OpenGL)
  2. Linux (OpenGL)
  3. Mac OS X (OpenGL - ARB_vertex_program support)
  4. Xbox (au travers d'une compilation offline des vertex et pixel shaders DirectX 8 )

Qu'en est-il des autres plates-formes ?
NVIDIA a fourni le code source des sections essentielles de l'application frontale de son compilateur Cg afin d'en favoriser l'adoption rapide par d'autres plates-formes.

Comment le Cg prendra-t-il en charge les futurs GPU ?
Le Cg est conçu de manière à prendre en charge des GPU programmables hautement sophistiqués. Pour NVIDIA, le Cg est et sera toujours plus une technologie habilitante essentielle, qui permettra aux développeurs d'accéder aux architectures de GPU, de plus en plus programmables, de demain et de les utiliser.

Le toolkit Cg NVIDIA

Qu'apporte NVIDIA aux développeurs ?
NVIDIA fournit actuellement aux développeurs le Toolkit Cg de NVIDIA, qui comprend:

  • Le Compilateur Cg de NVIDIA:
    • DirectX 8 : vertex shaders et pixel shaders
    • DirectX 9 : vertex shaders et pixel shaders
    • OpenGL ARB_vertex_program, OpenGL ARB_fragment_program
    • NV_vertex_program[2], NV_fragment_program
  • La spécification du langage Cg
  • La bibliothèque standard Cg
  • Les bibliothèques d'exécution Cg (prise en charge de DirectX8, DirectX9 et OpenGL)
  • Le Guide d'utilisation du Cg
  • Le navigateur Cg de NVIDIA (avec de nombreux exemples de shaders et démos)
  • Des exemples de shaders GeForce FX

Y aura-t-il d'autres versions du Toolkit Cg de NVIDIA ?
Oui, les versions ultérieures du Toolkit Cg de NVIDIA prendront en charge et inclueront les éléments suivants:

  • L'optimisation croissante du compilateur
  • Des didacticiels détaillés et des exemples
  • Des prises en charge supplémentaires pour la compilation runtime .fx

Le Compilateur Cg de NVIDIA effectuera-t-il des optimisations spécifiques des plates-formes ?
Oui, le Compilateur Cg de NVIDIA va optimiser considérablement les shaders pour les architectures de GPU multi-cibles.

Pourquoi le Cg ne marche-t-il pas sur ma vieille carte graphique TNT/Voodoo/Matrox ?
Actuellement, le Toolkit Cg de NVIDIA nécessite un GPU programmable, de préférence un GPU de classe DirectX-8 tel que le GeForce3, le GeForce4 Ti ou le Radeon 8500.

À quand la prise en charge pour Mac OS X / Xbox / TNT ?
Mac OS X : un tout petit peu de patience, Xbox [prise en charge DX8 disponible], TNT [aucune prise en charge ne sera ajoutée]

Qui utilise le Cg?

Des centaines de développeurs plébiscitent le Cg:
Des centaines de développeurs ont commencé à se former à une version antérieure du Cg dès fin 2001 et nombreux sont ceux qui ont contribué à l'évolution de ce langage.

Voici quelques-uns des développeurs qui soutiennent le Cg : Auran, Bethesda Softworks, Beyond Games, Bioware, Blizzard Entertainment, Cat Daddy, CodeCult, Codemasters, Contraband, Core Design, Croteam, Cryptic Studios, Crytek, Dark Black, Destineer, Electronic Arts, Elixir, EMG, Ensemble Studios, Fox Interactive, Grin, Headgate, High Voltage, Inevitable, Ion Storm, Kaboom, Kuju, Lego Media, Lionhead, Lithtech, Massive, Maxis, Nadeo, NAMCO, NemoSoft, Novalogic, Pivotal, Rage Sheffield, Relic Entertainment, Ritual, Sega-AM2 Co. Ltd., Sony Online Entertainment, SpinVector, Steel Monkeys, Valve, Vupine, etc.

Les développeurs de middleware soutiennent le Cg:

NDL, Criterion, Intrinsic Graphics. Les applications et outils DCC, comme Maya (Alias|Wavefront) , 3ds max (Discreet) , Softimage|XSI et Deep Exploration (Right Hemisphere) intègrent le Cg dans le flux de travail numérique des artistes 3D.





 
 
 
 
FacebookTwitterGoogle+LinkedInPinterest