Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 47 reacties
Bron: nVidia

Ramon2002 schrijft: "nVidia heeft een nieuwe hogere taal geïntroduceerd voor het programmeren van GPU's. De taal, Cg genaamd, is voornamelijk bedoeld om de vertex- and pixelshaders van de nieuwste generatie videokaarten makkelijk te kunnen toepassen. Cg wordt open source en zal ook bruikbaar zijn voor kaarten van andere producenten zoals ATi en Matrox. Op GameSpyDaily is een interview te vinden over dit onderwerp met nVidia's chief scientist, David Kirk. De press release staat hier."

Volgens nVidia zal de variant op C ervoor zorgen dat ontwikkelaars sneller kunnen inspelen op allerlei nieuwe technieken die in moderne chips worden geïntroduceerd. Het bedrijf wil een einde maken aan de frustraties van mensen die op het moment dat ze hun dure nieuwe kaart ècht kunnen benutten al weer twee hele generaties achterlopen. Voor uitgebreide specs en het downloaden van een Cg toolkit inclusief compiler kun je terecht op developer.nvidia.com:

GPU technology is moving very quickly, and it's difficult for game developers to learn and make the most of each new piece of technology. And, after developers have hit their stride with the next big thing, games based on new technology take time to develop.

nVidia Cg met oude bokSo, for a piece of technology like pixel and vertex shaders, you'll see a few advanced games right away, but many developers will take a year or so to incorporate the technology. So, the real big wave of games taking advantage of pixel and vertex shaders will hit the market this Christmas. The big problem, though, is that this cycle repeats each year. Next year, there will be more new technology that will be difficult for developers to adapt to. That's why we need Cg: a high level language for programming GPUs.
Moderatie-faq Wijzig weergave

Reacties (47)

Cg wordt open source en zal ook bruikbaar zijn voor kaarten van andere producenten zoals ATi en Matrox.
Kijk, dat is nou beter. Drie grote spelers gaan deze taal ondersteunen en zodoende heeft deze taal al een grote kans op slagen.

Wellicht komen spellen met graphics zoals Doom 3 dan toch al eerder dan verwacht. :)
denk niet dat dat snel gaat gebeuren. ze probeerde nmlk al zoiets te maken met z'n allen.
fahrenheit moest dat gaan heten (correct me if i'm wrong) en zou de opvolger van opengl moeten gaan worden.
door onenigheid tussen de partijen is het geflopt.
Fahrenheit is hier niet helemaal mee te vergelijken; die zou nooit als open source uitgekomen zijn (zie http://www.geocities.com/SiliconValley/Monitor/2254/msintelsgi.html). Misschien dat 't daarom wel mislukte...

Qua concept leek Fahrenheit wel op Cg; ook Fahrenheit zou DirectX en OpenGL combineren met een low-level interface. Via high-end extensies zou je dan de meest schitterende gfx in een handomdraai geprogrammeerd hebben.

Misschien dat nVidia toen het idee kreeg om dit concept beter op te pakken?
Ik wil niet overkomen als een MS slaafje, maar ik hoop dat dit ook asap een CLS compliant taaltje wordt. Dit gecombineerd met Managed C++ of C# zou het een geweldig platform zijn voor grafische ontwikkeling.

GDI+ op dit moment is beslist ook niet slecht. De 3D Base Class heeft echter veel te veel abstracte methodes (Dit zijn methodes die je zelf moet implementeren) en MSIL is een goede assembly maar natuurlijk niet zo goed als het (bijna) machinetaal dat C++ (is combinatie met Cg) genereerd. Dus op het gebied van performance zou een fusie van Visual C++ met Cg geweldig zijn.

Ik blijf dit close volgen. Goede zet van NVidia.
Op de Site:

Developed by NVIDIA in close collaboration with Microsoft, Cg provides a clear path to create shaders in DirectX 8, DirectX 9, and OpenGL

Krijg nou wat, dit zou welleens eerder kunnen gaan gebeuren dan ik dacht.
'k Mag hopen van niet. 3D graphics == highperformance != CLS. Als je een lagenmodel hanteert is dit eerder een laag onder CLS.

Een betere manier om hier naar te kijken is dat je met Cg een abstracte driver / 3D-engine kunt ontwikkelen die als "native" component beschikbaar is, a la de Quake/UT engines en dergelijke. Het is geen toeval dat bestaande 3D engines in generieke high-performance talen als C of C++ zijn ontwikkeld, niet in VB/Java/"Managed C++"/C#.
Het is ook niet mijn insteek om te zeggen dat Cg plots managed code moet gaan genereren. Dat doet per slot van rekening C++ ook niet, tenzij je de managed extensies gebruikt.

Het feit dat Cg een CLS compliant taal zou worden is in zoverre krachtig dat het op het laagste niveau unmanaged code bevat om vervolgens een Interface te hebben die CLS compliant is, waardoor hij als component gebruikt kan worden in C++ (of wat mij betreft in VB.NET)

Dit is ook het principe van Managed C++. Als je alleen maar in C++ van de managed extensies gebruik zou maken, sla je de plank mis en kun je net zo goed gebruik maken van C#. De kracht van Managed C++ is echter dat code geschreven kan worden op de oude C++ wijze waardoor de CLR er niet aan te pas komt en je code krijgt met een enorme performance, maar vervolgens kan er voor die C++ code een Managed Interface gemaakt worden waardoor het zichzelf beschibaar maakt voor andere .NET talen.

Dit bedoelde ik ook met Cg. Als die taal het zou toestaan om zichzelf via een CLS Interface bloot te laten stellen maar OOK unmanaged code toestaat, verbetert NVidia de MS integratie voor spellen op een Windows besturings systeem.
Het is dus een 'frontend' voor DirectX en OpenGL? Als Microsoft er mee te maken heeft zal het vast zo zijn dat OpenGL niet gebruikt wordt als het met eigen DirectX ook kan.

Verder verbaas ik me over het feit dat het argument om dit te gebruiken is dat de ontwikkeling zo snel gaat dat er een nieuwe 'programmeertaal' moet komen. Dit was PRECIES het doel van DirectX. Microsoft vond dat de ontwikkeling van OpenGL niet snel genoeg ging en ging zelf iets bouwen.

Ik vraag me ook af wat 'open source' in deze context betekent. Klikt leuk natuurlijk, maar als vervolgens de code (of delen van de code) niet in de GNU/GPL geimplenteerd mogen worden ben je daar mooi klaar mee.

Ik ben benieuwd :)
Het is geen frontend voor directX hoe kom je erbij.

De T&L en met name de programmeerbare Pixel en vertex shaders van de verschillende GPU makers zijn niet compatibelel dus de PS opcodes zijn anders tussen nVidia en ATi dus moeten developers dubbel werk doen of een gedeelde verzameling gebruiken dus veel rompslomp.

Zie het als al die verschillende instructie sets in de CPU IA32 IA64 68xxx Risc etc. die aangestuurd worden door 'n ANSI C het crossplatform verhaal maar dan nu voor GPU's.

"n Fix T&L Unit verwerkt gewoon data wat die door de CPU krijgt aangeboden.
Bij PS en vertex shaders aansturing zit in een deel van die data, proggrammacode voor wat er met die data moet gebeuren. Hier voor wil nVidia dus met een standaard proggrammeertaal komen, die open source is. Waardoor het gebruik van nieuwe features dan versneld ondersteund worden. mits ATi etc dit ook gaan ondersteunen.

Je hoeft je dus niet druk te maken welk merk GPU je hebt omdat het niet uitmaakt of je nVidia ATi of Matrox PS & vertexshaders hebt. De aanstureing van de proggrammerbare PS&VS is dan gelijk voor alle nextgen GPU.
Men hoeft als Game engine ontwikkelaar alleen de Cg taal te kennen en niet verschillende aansturingen voor diverse PS&VS shaders van verschillende GPU's.

iig dat is de bedoeling in de toekomst.
Hier voor wil nVidia dus met een standaard proggrammeertaal komen, die open source is.

Uit het artikel van FiringSquad http://firingsquad.gamers.com/hardware/cg/default.asp over Cg:

"NVIDIA has open-sourced certain components of the compiler, allowing content developers to add their own customizations as well."

Bold van mij; dus niet alles is open source.
nonsense.. als er al zoiets zou zijn als een frontend voor direct3d dan zou dat direct3dx zijn.. lees de reply van SG maar eens goed :)

wat hij wel vergeet te vermelden, en das juist 't belangrijkste (want van verschillende opcodes is mij niets bekend? lijkt me ook vreemd, want daar zijn juist shader standaarden voor .. de versies zijn niet voor niets genummerd)..

anyway.. wat SG dus vergeet is dat 't developpen met shaders nu een factor 10 sneller gaat, omdat 't in een C achtige taal is.. lusjes, structs, arrays, 't zit er allemaal in.. vergelijk het met 't verschil tussen normaal C coden en ASM coden...
lijkt me wel een hele goede vooruitgang
nu zou ik met C bij god niet weten hoe ik aan graphics zou moeten beginnen
hier heb je een taal die enkel op graphics toegespitst is dus moet je geen heel boek van 600 pagina's ofzo doorworstelen gewoon om er eindelijk aan te komen hoe je een cirkeltje moet tekenen :(
vind het ook heel goed dat nVidia het open source maakt en ook andere kaarten ondersteund
Ik denk dat dat je nog flink zal tegen vallen, Cg is geen versimpelde versie van C voor graphics, het is een C geoptimaliseerd voor graphics en zal niet zo zeer gebruikt worden voor het schrijven van complete games dan wel voor het aansturen van de graphics engine
Het bedrijf wil een einde maken aan de frustraties van mensen die op het moment dat ze hun dure nieuwe kaart ècht kunnen benutten al weer twee hele generaties achterlopen
ik ben het hier wel mee eens maar er zijn ook veel huis thuin en keuken gebruikers die juist een dure kaart kopen omdat ze er dan zeker van zijn over 2 a 3 jaar de spellen van dan nog te kunnen spelen. op deze manier zet nvidia een snellere gebruik van technologie in gang en zullen mensen dus wer sneller een dure kaart moeten aanschaffen.. zeg maar na 1,5 jaar al. aan de ene kant vinden wij dit misschien wel mooi. maar de markt waavoor uiteidelijk alle pc gemaakt worden niet.
Poging 3 om wat te posten (zal wel aan mijn PC liggen of zo, maar het wil maar niet lukken):

Door alle grafische mogelijkheden op deze manier aan de wereld bloot te geven, en voor een grafische omgeving een standaard manier van aanspreken te creeren, maken ze het mogelijk om veel meer grafische ondersteuning al vanuit de kernel te laten komen bij bijvoorbeeld Linux, en dus wordt het ook makkelijker spelletjes te schrijven hiervoor.
Volgens mij gaat dit echt wel aanslaan..

Op firingsquad zag je een plaatje waarin je duidelijk het verschil zag tussen assembler, cg en renderman(van pixar). De CG code ziet er dan echt veel buiter uit.. gewoon weer met de standaard commando's werken ipv die assembler dingen(moet je op gamedev.net de serie over vs proggen met directx is checken.. das echt geen normale code meer).

Ik heb vandaag de hele sdk ff gedownd en die ziet er goed uit. Handleiding van 150blz, source code en net zoiets als je met de effect browser altijd al had.

Hierdoor kunnen we(proggers) eindelijk snel de VS en PS bedienen. Ik denk dat het nu voor een veel groter publiek mogelijk word om dit te gebruiken en dat het over een tijdje standaard word om te zien.. goeie ontwikkeling..

Het is alleen wel zo dat nvidia cg natuurlijk voor hun kaarten heeft geoptimaliseerd.. dus als jij strax benchmarks ziet komen ze er het beste uit en dat zal hun verkoop goed doen.. maar hopen dat ATI en Matrox het goed overnemen..

Ik las ook dat discreet en anderen positief hebben gereageerd dus binnenkort render je met cg :)
t is opensource, dus sleutel t om naar eigen behoefte :+
Dan had ATI er eerder mee moeten komen toch? B-) Ik zeg altijd maar zo, wie het eerst komt, die het eerst maalt.

En ten aanzien van de veronderstelling dat nVidia kaarten het beste zullen lopen, tja ook logisch, je gaat jezelf niet te kort doen. Het geheel is echter we lopen source wat betekend dat ze het vrij verspreiden en als ik me niet vergis in vakidioten zijn ze bij ATI nu al de hele boel aan het uitpluizen. Wat er handig aan is en hoe ze gamemakers kunnen instrueren om ook hun spullen sneller te laten implementeren en zo.
wat een onzin.. de asm shader taal is al zo specifiek.. en pas als ati en nvidia met andere instructies zou uitbreiden zou je dit gaan merken.. maar das absoluut _niet_ aan de orde...
tegen de tijd dat dit in spellen is geprogrammeerd zijn we twee jaar verder, een beetje goed spel wordt namelijk niet in een week gemaakt en dan is je nieuwe geforce 4 echt wel 2 generaties achter :)
Tuurlijk, je moet het ook niet zien als "oplossing voor alles op 3D gebied", maar uitsluitend als hulpmiddel. Het effect van Cg zal daarom ook niet direct merkbaar worden, maar pas wanneer het enigszins ingeburgerd is (kwestie van ervaring). Dan zal het een bijdrage kunnen leveren in versneld coden van 3D engines en alles wat ermee samenhangt.

Ik ben trouwens wel nieuwsgierig hoe de 3D guru's tegen dit nieuwe fenomeen aankijken. Zou wel eens willen van JC bijvoorbeeld of hij geneigd is dergelijke tools toe te passen....
ehm, het is dus de bedoeling dat het hiermee makkelijker gaat = sneller :?
Long Live OpenSource
They finally get it
Nu eindelijk een groot bedrijf wat om opensource geeft.
(no offense, natuurlijk linux ook :) )
al was 't niet opensource.. tis "maar" een compiler :)
belangrijkste is dat er een gestandaardiseerde taal is vastgelegd...
Dit stelt de "Open Source" die nVidia er onder verstaat voor:
NVIDIA has not worked out all of the details of how open source will be managed and propagated
In fact, we have been working closely with Microsoft to make sure that our technology is compatible and available for all to use on any software or hardware platform.
Iedereen smijt maar met Open Source als marktening term tegenwoordig, net of het dan _GOED_ is ofzo.

Tja :Z
Als Linux nou straks met behulp van dat Cg wordt geschreven dan heb ie echt een supper OS, dat er zeker bij mij opkomt :9~
Is dit een grap?
Linux is geen bedrijf... Linux is een religie :)
Jah,

werd Linus daar niet heel erg geirriteerd van? Net zoals van al die mensen die alles wat ie zegt voor het woord van God (en dus pertinent altijd juist) namen?

hier en daar wel eens een gigantische rant van 'm over gelezen.

Linux is een Kernel, 't is leuk, 't is gratis. einde.

[sorry voor het offtopic posten]
Jesus was het ook niet helemaal eens met hoe zijn volgelingen met het geloof om gingen, even min is Linus dat, Linux is een religie...

(niet mijn religie maar weldegelijk de religie van sommige anderen)
Achja je hebt ook genoeg mensen die alles wat er in de Bijbel of de Koran staat als de enige waarheid zien. Ik zie dan ook niet in waaromer geen mensen mogen zijn die de kernel source als Bijbel zien en Linux als God :)

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True