(Translated by https://www.hiragana.jp/)
Cg語言 - 维基百科,自由的百科全书 とべ转到内容ないよう

Cgげん

本页使用了标题或全文手工转换
维基百科ひゃっか自由じゆうてき百科ひゃっかぜん

Cg语言(C for Graphics)GPU编程设计てき高級こうきゅうちょしょくげんゆかりNVIDIA公司こうし开发。Cg极力保留ほりゅうC语言てきだい部分ぶぶん语义,并让开发しゃ从硬けん细节ちゅう解脱げだつ出来でき,Cgどう时也ゆう一个高级语言的其他好处,如代码的えき重用じゅうようせい读性いたひさげだか,编译だい码优

Cg语言主要しゅよう参照さんしょうANSI Cけんただし也从C++Java以及早期そうきてき绘制语言如RenderMan and the Stanford shading languageちゅう吸取すいとりょういち思想しそう。这些使とく容易よういうつしほどじょしかきさきよし编译进行优化,ひさげだかりょう读性。而且Cgてき设计こう虑了GPUてき体系たいけい结构,如可编程处理单元(顶点处理ぞうもと处理そと不可ふか编程单元)。这些部分ぶぶん应用どおり过数すえりゅう连接おこりらい。Cg语言まこと许分别为顶点ぞうもとうつしほどじょ。Cg API引入りょうprofilesてき概念がいねん以处顶点ぞうもと编程しょ缺乏けつぼうてき通用つうようせいいち个Cg profile就定义了いち套整个Cg语言てきしゅう以适应不同ふどうてきかたけん平台ひらだいかずAPI。Cgほどじょ以根すえ运行时的需要じゅようあるものごとさき编译なりGPU汇编だい码。这样以很容易よういはたいち个Cgぞうもとほどじょ手写しゅしゃてき顶点ほどじょ结合おこりらいあるもの甚至さいよう不可ふか编程てきOpenGLあるものDirectX顶点流水りゅうすい线,たんまたしか

よし于Nvidiaほろ合作がっさく紧密,Cg语言HLSLてき共通きょうつう处很[1]ざい早期そうきてきかんかたぶん档里,这两しゃかい释成贴了两个ぱいてき同一どういつ门语ごと[2]

ほそぶし

[编辑]

資料しりょうがたべつ

[编辑]

Cgゆう6しゅすうすえがたべつ(data types),跟Cげん相當そうとう類似るいじゆういち些是ためGPU特別とくべつ定義ていぎてきがたべつ如下:

  • float - 32もと浮點すう
  • half - 16もと浮點すう
  • int - 32もと整數せいすう
  • fixed - 12もと定點ていてんすう
  • bool - ぬの尔值
  • sampler* - 代表だいひょうもん物件ぶっけん(texture object)

はんれい

[编辑]
  • A sample Cg vertex shader
 // 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;
 }

參照さんしょう

[编辑]

外部がいぶ連結れんけつ

[编辑]
  1. ^ Fusion Industries :: Cg and HLSL FAQ ::. 2012-08-24 [2020-04-25]. (原始げんし内容ないようそん档于2012-08-24). 
  2. ^ The Cg Tutorial - Chapter 1. Introduction. developer.download.nvidia.cn. [2020-04-25]. (原始げんし内容ないようそん档于2022-04-15).