Entra

View Full Version : Cg: il codice C per le GPU


Redazione di Hardware Upg
14-06-2002, 08:49
Link alla notizia : http://news.hwupgrade.it/6514.html

nVidia introduce un nuovo linguaggio di programmazione per sfruttare tutte le features delle GPU

Click sul link per la notizia completa.

pg08x
14-06-2002, 09:05
Guarda caso funziona solo con le loro gpu.

Sig. Stroboscopico
14-06-2002, 09:07
non me ne intendo quindi forse è una domanda stupida...
ma verrà usata solo la nvidia o anche dalle altre case?
ciao

Simon82
14-06-2002, 09:16
Sono anni che continuiamo a dire che siamo vicini alla realta' nei giochi e ancora, dopo due anni e passa stiamo giocando con giochi che utilizzano il motore di Quake3, che alla realta' non si avvicina manco morto... :(

kronos2000
14-06-2002, 09:21
Per stroboscopico:
dipende da chi "spinge" per la sua introduzione..se dietro c'è microsoft, è probabile che diventarà uno standard.

Per pg08x: certo, finora lavoro solo con le gpu nvidia perchè nvidia ha scritto anche i compilator. quando anche ATI, SYS, Matrox etc scriveranno i loro compilatori in Cg, allora il Cg funzionerà anche sulle loro piattaforme. Di certo Nvidia accumula vantaggio, ma la sua è una bella iniziativa.

AlienGuardian
14-06-2002, 10:42
Io sinceramente mi sono stancato di tutte queste scheda video che fanno miliardi di punteggi nei benchmark...Ok voglio la fluidità ... ok non deve scattare...ok...deve essere tutto con dei bei colori!

Ma cazzolina a quando la realtà virtuale??? Quand'è che ATI svilupperà un bel visore 3D accoppiato ad una Radeon 8500...e allora si che potremo parlare di qualita' "reale" dei giochi....

X Simon82: ma ti rendi conto che se ci fosse un bel visore per realta' virtuale giocare a Quake 3 Arena tipo film "il tagliaerbe" sarebbe tutto un altro mondo??? Altro che Parhelia di Matrox con GameSurrond e 3 monitor....

love80x
14-06-2002, 11:00
gia'...AlienGuardian son daccordo con te.. volgio la realta' virtuale!!!

brain
14-06-2002, 11:14
[B]Sono anni che continuiamo a dire che siamo vicini alla realta' nei giochi e ancora, dopo due anni e passa stiamo giocando con giochi che utilizzano il motore di Quake3, che alla realta' non si avvicina manco morto... :(


Oggi abbiamo schede grafiche potentissime che non vengono nemmeno sfruttate dai giochi dell'ultima generazione.
Il problema è che ormai sviluppare un motore grafico 3D necessita molto tempo e risorse... i motori dei giochi migliori vengono così ricilati...
Non ho ancora letto i dettagli su questo linguaggio... se un linguaggio (...non "codice" come scrive Paolo...ahi, ahi ) come il Cg riduce davvero il carico di lavoro egli sviluppatori e se si dovesse dimostrare portabile anche su altre architetture senza troppa perdita di efficenza allora credo sia proprio un ottima scelta di nVidia.

PS. ...per tutti quelli che vogliono la realtà virtuale... mi hanno detto che in spiaggia in questi giorni è pieno di ragazze in bikini... REALI!!!

ErPazzo74
14-06-2002, 11:31
Originariamente inviato da AlienGuardian
[B]Io sinceramente mi sono stancato di tutte queste scheda video che fanno miliardi di punteggi nei benchmark...Ok voglio la fluidità ... ok non deve scattare...ok...deve essere tutto con dei bei colori!

Ma cazzolina a quando la realtà virtuale??? Quand'è che ATI svilupperà un bel visore 3D accoppiato ad una Radeon 8500...e allora si che potremo parlare di qualita' "reale" dei giochi....

X Simon82: ma ti rendi conto che se ci fosse un bel visore per realta' virtuale giocare a Quake 3 Arena tipo film "il tagliaerbe" sarebbe tutto un altro mondo??? Altro che Parhelia di Matrox con GameSurrond e 3 monitor....
Io tempo fà contattai la ATI che mi disse che la 8500 già supporta il true 3d (cioè la stereoscopia), solo che è disabilitato, penso nei driver, xché poi aggiunse che è presente in dei driver a solo uso interno......
Il motivo x cui non è attivato il supporto è che il mercato non è interessato a questa feature....
Inoltre aggiungo che i driver NVIDIA già da molto supportano la visualizzazione stereoscopica, anche se non è supportato il migliore dei modi cioè doppia uscita x caschetto con 2 entrate....

ErPazzo74
14-06-2002, 11:36
Originariamente inviato da brain
[B]
Non ho ancora letto i dettagli su questo linguaggio... se un linguaggio (...non "codice" come scrive Paolo...ahi, ahi ) come il Cg riduce davvero il carico di lavoro egli sviluppatori e se si dovesse dimostrare portabile anche su altre architetture senza troppa perdita di efficenza allora credo sia proprio un ottima scelta di nVidia.


Essendo 1 linguaggio compilato certo che è portabile a condizione che si faccia generare il codice x un'altra architettura diversa da quella Nvidia....ci vuole del lavoro chiaramente ma se si imporrà come standard di programmazione.....

[B]
PS. ...per tutti quelli che vogliono la realtà virtuale... mi hanno detto che in spiaggia in questi giorni è pieno di ragazze in bikini... REALI!!!
Concordo Pienamente......inoltre direi che le emozioni sono di gran lunga migliori quelle reali ;) :) :D

Spanoz
14-06-2002, 12:32
"con Cg sarà possibile programmare codice per sfruttare le funzionalità integrate in ogni GPU"

Quindi per me questo linguaggio di programmazione nn e' riservato solo ad nvidia ma x tutti

OverClocK79®
14-06-2002, 13:35
che ve ne frega se sarà nVidia ad averlo proprietario
se diventa standard come spero succeda vedrai che Ati e soci seguiranno a ruota......come del resto sil T&L

BYEZZZZZZZZZZZ

gove
14-06-2002, 13:43
io voglio un chip integrato ne cervello ,con gli occhiali tridimensionali e giocare anche mentre sono al lavoro facendo finta d'avere la congiuntivite!!

Vidoque
14-06-2002, 13:49
Raga io dico solo una cosa: se il Cg ha la stessa facilità di programmazione del C, allora si vedranno passi da gigante nei prossimi motori grafici.
Credo che molta gente che frequenti questo sito sia un programmatore e un programmatore sà che grande differenza c'è tra il linguaggio C e l'assemby intel: è come tra il giorno e la notte.
E lascite stare realtà virtuale e cavolate varie... il giochi sono belli perchè stanno negli schermi e non perchè sono nella realtà, anche perchè se voglio giocare al soldato impavido vado in guerra a farmi maciullare(ma questo nn lo farò mai hehe).

brain
14-06-2002, 14:48
Originariamente inviato da Vidoque
[B]Raga io dico solo una cosa: se il Cg ha la stessa facilità di programmazione del C, allora si vedranno passi da gigante nei prossimi motori grafici.

...mmhh ....del C si possono dire tante belle cose... grandissima portabilità, ottima efficenza, stupenda visibilità verso il basso livello ...ma nient'affatto che sia un linguaggio facile! (hanno pubblicato anche un romanzo/parodia sul C... "seeking the lost pointer")
...Java, i linguaggi Web, ecc.. sono linguaggi facili

Comunque da quanto si capisce dagli articoli citati, il Cg si appoggia direttamente su DirectX8 e OpenGL1.4... quindi la sua portabilità e appoggiata da queste librerie e non ha limitazioni di nessun genere riguardo all'architettura hardware sottostante, purchè supporti le due librerie sopra... un prodotto ben aperto all'esterno (tanti bei plug-in) e senza grosse limitazioni, sembra anche troppo rose e fiori

Infine non si tratta proprio di un linguaggio dedicato a creare motori grafici per giochi... ma più che altro integra dei costrutti e dei tool/plug-in per semplificare la creazione scene animate realtime.

Vidoque
14-06-2002, 15:15
ma..tu sicuramente sei più esperto di me visto che io ho appena finito solo al quarto anno di informatica(ITIS) e io l'ho trovato semplice poi ci sono pareri diversi.Cmq il Cg è una bella invenzione e credo che andrà molto avanti

ErPazzo74
14-06-2002, 15:34
Originariamente inviato da brain
[B]

...mmhh ....del C si possono dire tante belle cose... grandissima portabilità, ottima efficenza, stupenda visibilità verso il basso livello ...ma nient'affatto che sia un linguaggio facile! (hanno pubblicato anche un romanzo/parodia sul C... "seeking the lost pointer")
...Java, i linguaggi Web, ecc.. sono linguaggi facili

Comunque da quanto si capisce dagli articoli citati, il Cg si appoggia direttamente su DirectX8 e OpenGL1.4... quindi la sua portabilità e appoggiata da queste librerie e non ha limitazioni di nessun genere riguardo all'architettura hardware sottostante, purchè supporti le due librerie sopra... un prodotto ben aperto all'esterno (tanti bei plug-in) e senza grosse limitazioni, sembra anche troppo rose e fiori

Infine non si tratta proprio di un linguaggio dedicato a creare motori grafici per giochi... ma più che altro integra dei costrutti e dei tool/plug-in per semplificare la creazione scene animate realtime.

Sicuramente il C non è facile come linguaggio ma è facile rispetto all'assembly, allo stesso modo il Cg lo è se confrontato con l'assembly che andava usato finora x programmare gli shaders.....da quel che almeno avevo capito io....altrimenti dove sarebbe il passo in avanti...si sà il C è poco + dell'assembly.....ma è molto veloce.....se ben programmato chiaramente....
Mi dispiace sol che non ho tempo per scaricarmi il compilatore e provare a farci qualcosa.....

homero
15-06-2002, 05:54
questa e' bella.....non capisco la differenza tra il codice CG e le glide 3dfx....bastavano delle semplici librerie per i compilatori C/C++, di un linguaggio per le GPU non c'e' ne' c'era il bisogno, delle buone librerie in C erano piu' che sufficenti, il problema che le attuali cpu invidia hanno funzioni programmabili limitate specie dal punto di vista degli shader...

DoomIII
15-06-2002, 13:36
Originariamente inviato da homero
[B]questa e' bella.....non capisco la differenza tra il codice CG e le glide 3dfx....bastavano delle semplici librerie per i compilatori C/C++, di un linguaggio per le GPU non c'e' ne' c'era il bisogno, delle buone librerie in C erano piu' che sufficenti, il problema che le attuali cpu invidia hanno funzioni programmabili limitate specie dal punto di vista degli shader...

piano, piano...... non facciamo confusione.

le glide 3dfx non sapevano nemmeno cosa fossero gli shader...
quelle erano sempre e cmq FF (fixed function)
a tal proposito risulta molto più semplice la programmazione DX rispetto alle glide.
(NB:vi ricordo che le varie schede GPU-oriented tipo dal NV20 in poi alias Gef3 è incluso per compatibilità il core NV15 alias gef2... ed in pratica visto che niente salvo i demo nVidia sfruttano i vertex/pixel shader..... la corrente passa per i circuiti NV15 inclusi per compatibilità nella vostra bella gef4 :D , certo ci sono vantaggi come l'antialiasing.... la maggiore frequenza..., le ottimizzazioni ecc..... ma i vertex/pixel shader non sono assolutamente sfruttati)


per quanto riguarda gli shader...... li si programma in assembler e adesso tramite il Cg offrendo un livello di astrazione che garantisce la compatibilità... semplifica ed ottimizza il tutto .. rende quindi più facile la programmazione, la risoluzione di errori...... li si può quindi programmare in Cg :)

songoge
15-06-2002, 19:46
X Erpazzo 74 Non credo proprio che il c sia qualcosa in più rispetto all'assembler(devi essere un masokista se ti metti a programmare in assembler)
Il c è un liguaggio facilissimo da imparare ed è folto potente(soprattutto il c++ anche se un pò + complesso)
Per me è stato più facile il c che il java.
Cmq nn discuto sulle grandi potenzialità del java che eredtita molte cose del c++ tra le quali la sintassi e il supporto agli oggetti.
Se come dicono questo Cg è così importante da essere paragonato dal c all'assembler direi che finalmente si inizia una nuova era x il 3d come è stato per il 2d.
Software casalinghi per il 3d sarebbe bellissimo. Non vedo l'ora di provarlo!!!!

ErPazzo74
15-06-2002, 20:48
Originariamente inviato da songoge
[B]X Erpazzo 74 Non credo proprio che il c sia qualcosa in più rispetto all'assembler(devi essere un masokista se ti metti a programmare in assembler)
Il c è un liguaggio facilissimo da imparare ed è folto potente(soprattutto il c++ anche se un pò + complesso)
Per me è stato più facile il c che il java.
Cmq nn discuto sulle grandi potenzialità del java che eredtita molte cose del c++ tra le quali la sintassi e il supporto agli oggetti.
Se come dicono questo Cg è così importante da essere paragonato dal c all'assembler direi che finalmente si inizia una nuova era x il 3d come è stato per il 2d.
Software casalinghi per il 3d sarebbe bellissimo. Non vedo l'ora di provarlo!!!!
Riguardo il C era 1 paradosso x dire che non c'è niente di + vicino all'assembler.....Guarda che ce ne sono stati tanti di masochisti nella storia....tra cui ancora oggi chi provava a programmare i shaders delle GPU ;)
Guarda che il C è il mio linguaggio preferito....x la sua velocità....facile da imparare forse...ma da usare no....prova a fare 1 albero n-ario con liste come nodi tutto con dei bei puntatori vedrai i Segmentation Fault....sotto questo punto di vista Java è un altro mondo..complesso magari come vastità, ma non a livello di programmazione....
Buona parte del tempo in C lo passi a Debuggare....:(

speedwago
15-06-2002, 23:28
beh se prima del gc l'unico modo per programmare gli shader era l'assembly allora state sicuri che diventera' davvero il tool piu' usato per programmare una gpu.

franz899
16-06-2002, 17:49
Io a scuola usao il C++ e l'assembler, li trovo tutti e due facili da usare(ho appena finito il terzo anno). Non avevo mai programmato ne in pascal ne in Basic(anche se sapevo qualche accenno), ma mi sono trovato molto bene, senza mai aprire il libro :), forse le cose difficili le devo ancora fare....

speedwago
16-06-2002, 23:03
ciao franz...da come parli intuisco che stai facendo l'industriale informatico giusto?
cmq volevo dirti che molto probabilmente quello che stai stuidiando e' il c e non il c++ anche se magari stai usando un compilatore c++ (mica sai cos'e' una classe? oppure programmate ad oggetti?) vabe ciao.

brain
17-06-2002, 09:15
magari ho contribuito anch'io a creare un po' di confusione... ma come diceva anche ErPazzo74... con "linguaggio" facile non intendevo tanto che sia facile impararlo o usarlo (poi questo dipende sempre dal livello a cui lo si utilizza)... ma che è facile fare un programma che non sia pieno di BUG, che contengono costrutti semplici e potenti che ci allontanano da problemi... con Java avete il vostro bel Garbage Collector, non avrete mai un programma che vi da un "Segmentation Fault" (...a meno di errori della VM o del compilatore [:)] ) ...bastano due righe per crere un albero o implementare un semaforo ...in C si possono fare ugualmente queste cose, ma se ve le dovete fare da soli quasi di sicuro ci saranno dei problemi.

Tornando al Gc... davvero non esisteva nessuna liberia che permettesse di programmare gli Shaders?