Cg

Cg (veya C for Graphics) Nvidia tarafından Microsoft la yakın işbirliği ile,tepe ve nokta tarayıcıları programlayabilmek için geliştirilen yüksek seviye bir tarayıcı dilidir. Microsoft un HLSL sine benzer.Cg C tabanlı olması ve aynı söz dizilimini kullanmasına rağman,C nin bazı özellikleri düzenlenmiş, renk ve normal gibi yeni veri tipleri eklenmiştir.

Bu dil sadece GPU programlamak içindir ve genel amaçlı bir programlama dili değildir. Cg derleyiciler DirectX ve OpenGL tarayıcı programları oluşturabilirler.

Geçmişi

Grafik kartlarındaki teknik gelişmelerle beraber,3D grafik programlamanın bazı alanları tamamen karmaşık bir hal aldı.Bunu basitleştirmek için,kartlara tepe ve nokta tarayıcıları kullanarak grafik yaratım işhattını düzenleyebilecek özellikler eklendi. İlk başlarda, tarayıcılar çok düşük seviyede GPU nun assembly sini kullanarak programlandı.Bu programcıya tüm kod üzerinde kontrol ve esneklik kazandırdıysa da,açıkçası kullanımı zordu.Taşınabilir ve daha yüksek seviye bir dile ihtiyaç vardı ve bununla başa çıkabilmek ve tarayıcı geliştirmeyi daha basit kılabilmek içn Cg dili yaratıldı.

Assembly yerine Cg dilini kullanmanın bazı faydaları

Detaylar

Veri Tipleri

Cg 6 temel veri yapısına sahip ki bazıları C deki tiplerle aynıyken bazıları ise GPU programlamak için özellikle eklenmiş.

Cg ayrıca float3 ve float4 gibi vector,matrix veri tiplerinin de içerir.Bu tip nesneler 3D programlarken çok yaygındır.Cg C deki haliyle çalışan struct ve array tiplerini de içerir.

Operatörler

Cg C deki aritmetik operatörler,vector ve matrix tipleri için aritmetik operatörler ve mantıksal operatörler gibi birçok operatörü içeirir.

Dış bağlantılar

This article is issued from Vikipedi - version of the 8/23/2013. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.