[go: up one dir, main page]

Hoppa till innehållet

Cg (programspråk)

Från Wikipedia

Cg (förkortning av C for Graphics) är ett programspråk utvecklat av Nvidia i nära samarbete med Microsoft. Cg bygger på programspråket C med vilket Cg delar syntax. Skillnaden mellan språken är att vissa funktioner i C har modifierats och fler datatyper har tillagts för att göra Cg lämpad för programmering av grafikprocessorer. Cg är dock enbart lämpat för GPUprogrammering och är inte ett generellt programmeringsspråk. Eftersom tekniska framsteg har gjort att vissa delar av programmeringen av 3D-grafik har blivit rätt komplex. För att förenkla processen lades nya funktioner till grafikkorten. Några av de spel och applikationer som använder Cg är Battlefield 2, Far Cry, Dolphin, Hitman: Blood Money, Ogre3D och Unity

 // input vertex
 struct VertIn {
     float4 pos   : POSITION;
     float4 color : COLOR0;
 };
 
 // output vertex
 struct VertOut {
     float4 pos   : POSITION;
     float4 color : COLOR0;
 };
 
 // vertex shader main entry
 VertOut main(VertIn IN, uniform float4x4 modelViewProj) {
     VertOut OUT;
     OUT.pos     = mul(modelViewProj, IN.pos); // calculate output coords
     OUT.color   = IN.color; // copy input color to output
     OUT.color.z = 1.0f; // blue component of color = 1.0f
     return OUT;
 }