Back

Cg – FAQ

 
 
Linguaggio Cg  Piattaforme  NVIDIA Cg Toolkit  Società che supportano il Cg?


Linguaggio Cg

Che cos'è il Cg?
Si tratta del linguaggio C per la grafica. Il Cg è un linguaggio di programmazione di alto livello per le GPU, sviluppato da NVIDIA in stretta collaborazione con Microsoft.

Chi è responsabile delle specifiche del linguaggio Cg?
La responsabilità delle specifiche del linguaggio Cg è di NVIDIA, che continuerà a cooperare con Microsoft per mantenere la compatibilità con il linguaggio High Level Shading Language (HLSL) di DirectX.

Cg è proprietario?
Le specifiche del linguaggio Cg sono pubblicate e aperte nel senso che altri vendor possono liberamente implementare prodotti basati su di esso. Per incoraggiare queste iniziative, NVIDIA ha reso pubblici i sorgenti del Cg Compiler in base a una licenza gratuita e non restrittiva.

Le implementazioni dei vendor del Cg Compiler sono tipicamente proprietarie e i diritti appartengono ai loro creatori. NVIDIA ha sviluppato e detiene i diritti di NVIDIA Cg Compiler, e si prevede che altri vendor svilupperanno le proprie versioni del Cg Compiler.

Il Cg rimpiazza OpenGL?
No, il Cg opera a un livello superiore a OpenGL. Il Cg Compiler crea codice assembly nei formati definiti dalle estensioni OpenGL quali ARB_vertex_program, ARB_fragment_program e NV_vertex_program, nonché nel formato definito da OpenGL 1.4.

Il Cg rimpiazza DirectX?
No, questo linguaggio opera a un livello superiore alle API di Vertex e Pixel Shader di DirectX, e crea il codice shader necessario a eseguire shader Vertex e Pixel standard per DirectX 8.0 e DirectX 9.0.

Cosa lo distingue da Microsoft HLSL?
Le specifiche del linguaggio Cg sono compatibili con il linguaggio High Level Shading Language di Microsoft. Gli shader Cg seguono lo standard definito dal più recente formato D3DX Effects di Microsoft e sono pienamente compatibili con Microsoft HLSL.

Qual è la differenza fra il linguaggio Cg e un Cg Compiler?
Il linguaggio Cg ha una sintassi e una grammatica adeguate alle GPU programmabili in tempo reale. Un Cg Compiler è un'applicazione che accetta input in linguaggio Cg, e produce output in uno dei formati standard in linguaggio assembly accettati dalle attuali GPU programmabili.

Qual è il coinvolgimento di NVIDIA nel futuro dello standard OpenGL?
NVIDIA è impegnata nel continuo aggiornamento di OpenGL, e opera attivamente per realizzare la prossima fase dell'evoluzione naturale dell'OpenGL. NVIDIA ha proposto e ha guidato le iniziative di sviluppo di OpenGL 1.4, il cui componente primario è un'interfaccia in linguaggio assembly con l'hardware vertex delle GPU programmabili. Una volta completata con successo questa revisione dell'OpenGL, NVIDIA sta ora collaborando con ARB per definire e sviluppare la revisione successiva di OpenGL, con la programmabilità di frammenti/pixel come capacità core prevista.

Piattaforme

Quali piattaforme supporta il Cg Compiler NVIDIA?

  1. Windows (DirectX 8, DirectX 9, OpenGL)
  2. Linux (OpenGL)
  3. Mac OS X (OpenGL - supporto di ARB_vertex_program)
  4. Xbox (grazie a una compilazione offline di shader Vertex e Pixel DirectX 8)

Quali sono le prospettive per le altre piattaforme?
NVIDIA ha fornito codice sorgente per le porzioni chiave del front-end di NVIDIA Cg Compiler per velocizzare l'adozione di ulteriori piattaforme.

In che modo il Cg supporta le GPU future?
Il Cg è progettato per fornire supporto alle GPU programmabili più sofisticate e NVIDIA prevede che il Cg possa recitare un ruolo da protagonista in questo settore, consentendo agli sviluppatori di accedere e utilizzare le future architetture GPU, dotate di un grado di programmabilità sempre maggiore.

NVIDIA Cg Toolkit

Cosa offre agli sviluppatori questa iniziativa di NVIDIA?
Attualmente, NVIDIA sta offrendo agli sviluppatori il Cg Toolkit, che comprende:

  • NVIDIA Cg Compiler:
    • DirectX 8: Shader per vertex e pixel
    • DirectX 9: Shader per vertex e pixel
    • OpenGL ARB_vertex_program, OpenGL ARB_fragment_program
    • NV_vertex_program[2], NV_fragment_program
  • Specifica del linguaggio Cg
  • Libreria Cg standard
  • Librerie CG runtime (supporto di DirectX 8, DirectX 9 e OpenGL)
  • Manuale dell'utente del Cg
  • Browser Cg NVIDIA (con numerosi esempi e demo di shader)
  • Campioni di shader GeForce FX

Ci saranno altre versioni del Cg Toolkit NVIDIA?
Sì, versioni successive del Cg Toolkit NVIDIA supporteranno e includeranno:

  • Crescente ottimizzazione del compiler
  • Courseware ed esempi completi
  • Ulteriore supporto per la compilazione del runtime .fx

Il Cg Compiler NVIDIA è in grado di eseguire altre ottimizzazioni per piattaforme specifiche?
Sì, NVIDIA Cg Compiler ottimizzerà numerosi shader per più architetture GPU di destinazione.

Per quale motivo il Cg non funziona sulla mia vecchia scheda grafica TNT/Voodoo/Matrox?
Il Cg Toolkit NVIDIA attualmente richiede una GPU programmabile - preferibilmente, una GPU di classe DirectX 8 quali la GeForce3 o GeForce4 Ti, o la Radeon 8500.

Quando verrà aggiunto il supporto per Mac OS X/Xbox/TNT?
Il supporto per Mac OS X è in dirittura di arrivo, quello per Xbox è già disponibile [supporto per DX8], il supporto per TNT invece [non è previsto].

Società che supportano il Cg?

Centinaia di sviluppatori intendono sfruttare il linguaggio Cg:
Centinaia di sviluppatori hanno iniziato la formazione su una versione preliminare del Cg alla fine del 2001, e numerosi hanno contribuito all'evoluzione del linguaggio.

Alcuni sviluppatori che supportano il 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 e molti altri ancora.

Sviluppatori middleware che supportano il Cg:

NDL, Criterion, Intrinsic Graphics. Applicazioni e strumenti DCC, quali Alias|Wavefront Maya, Discreet 3ds max, Softimage|XSI e Right Hemisphere Deep Exploration stanno incorporando il Cg nel workflow degli artisti digitali.





 
 
 
 
FacebookTwitterGoogle+LinkedInPinterest