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ğmen,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çin Cg dili yaratıldı.
Assembly yerine Cg dilini kullanmanın bazı faydaları
- Yüksek seviye kodu öğrenmek, okumak ve anlamak daha kolay.
- Cg kodları birçok donanım ve platform arasında taşınabilir. Assembly ise yazıldığı platform ve donanıma bağımlıdır.
- Cg derleyici kodu optimize edebilir ve düşük seviye işleri otomatik yapabilir.
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ş.
- float-32 bitlik kayan nokta sayısı
- half- 16 bitlik kayan nokta sayısı
- int- 32 bitlik tam sayı
- fixed - 12 bitlik sabit nokta sayısı
- bool - boolean değişkeni
- sampler -doku nesnesini temsil eder
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çerir.
Dış bağlantılar
- 2 sayfada Cg 5 Ekim 2018 tarihinde Wayback Machine sitesinde .
- Nvidia 3 Temmuz 2013 tarihinde Wayback Machine sitesinde .
- Cg SSS 17 Haziran 2008 tarihinde Wayback Machine sitesinde .
- Cg AnaSayfası 24 Şubat 2007 tarihinde Wayback Machine sitesinde .
- Geliştirici Forumları 10 Ağustos 2008 tarihinde Wayback Machine sitesinde .
- OpenGL Ana Sayfası 26 Şubat 2011 tarihinde Wayback Machine sitesinde .
- DirectX Ana Sayfası 6 Mart 2006 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Cg veya C for Graphics Nvidia tarafindan Microsoft la yakin isbirligi ile tepe ve nokta tarayicilari programlayabilmek icin gelistirilen yuksek seviye bir tarayici dilidir Microsoft un HLSL sine benzer Cg C tabanli olmasi ve ayni soz dizilimini kullanmasina ragmen C nin bazi ozellikleri duzenlenmis renk ve normal gibi yeni veri tipleri eklenmistir Bu dil sadece GPU programlamak icindir ve genel amacli bir programlama dili degildir Cg derleyiciler DirectX ve OpenGL tarayici programlari olusturabilirler GecmisiGrafik kartlarindaki teknik gelismelerle beraber 3D grafik programlamanin bazi alanlari tamamen karmasik bir hal aldi Bunu basitlestirmek icin kartlara tepe ve nokta tarayicilari kullanarak grafik yaratim is hattini duzenleyebilecek ozellikler eklendi Ilk baslarda tarayicilar cok dusuk seviyede GPU nun assembly sini kullanarak programlandi Bu programciya tum kod uzerinde kontrol ve esneklik kazandirdiysa da acikcasi kullanimi zordu Tasinabilir ve daha yuksek seviye bir dile ihtiyac vardi ve bununla basa cikabilmek ve tarayici gelistirmeyi daha basit kilabilmek icin Cg dili yaratildi Assembly yerine Cg dilini kullanmanin bazi faydalari Yuksek seviye kodu ogrenmek okumak ve anlamak daha kolay Cg kodlari bircok donanim ve platform arasinda tasinabilir Assembly ise yazildigi platform ve donanima bagimlidir Cg derleyici kodu optimize edebilir ve dusuk seviye isleri otomatik yapabilir DetaylarVeri Tipleri Cg 6 temel veri yapisina sahip ki bazilari C deki tiplerle ayniyken bazilari ise GPU programlamak icin ozellikle eklenmis float 32 bitlik kayan nokta sayisi half 16 bitlik kayan nokta sayisi int 32 bitlik tam sayi fixed 12 bitlik sabit nokta sayisi bool boolean degiskeni sampler doku nesnesini temsil eder Cg ayrica float3 ve float4 gibi vector matrix veri tiplerinin de icerir Bu tip nesneler 3D programlarken cok yaygindir Cg C deki haliyle calisan struct ve array tiplerini de icerir Operatorler Cg C deki aritmetik operatorler vector ve matrix tipleri icin aritmetik operatorler ve mantiksal operatorler gibi bircok operatoru icerir Dis baglantilar2 sayfada Cg 5 Ekim 2018 tarihinde Wayback Machine sitesinde Nvidia 3 Temmuz 2013 tarihinde Wayback Machine sitesinde Cg SSS 17 Haziran 2008 tarihinde Wayback Machine sitesinde Cg AnaSayfasi 24 Subat 2007 tarihinde Wayback Machine sitesinde Gelistirici Forumlari 10 Agustos 2008 tarihinde Wayback Machine sitesinde OpenGL Ana Sayfasi 26 Subat 2011 tarihinde Wayback Machine sitesinde DirectX Ana Sayfasi 6 Mart 2006 tarihinde Wayback Machine sitesinde