13 Nisan 2014 Pazar

Çizim için bir Renk Belirleme




Çizim için bir Renk Belirleme 


Opengl de çizim yaparken her objeye ayrı bir renk atama ihtiyacı duyulmaktadır ,nasılki pencere için renk belirliye biliyorsak aynı şekilde geometrik nesneler içinde bir renk belirlenmektedir.Bu işlem için glColor3f komutu kullanmaktadır ,komutu parcalara ayırarak incelersek

glColor3f

gl opengl ön ekidir opengl komutları bu ekle belirtilmektedir.

Color renk anlamına gelmektedir ve opengl renk yönergesini temsil eder

3 sayısı üç parametreli bir komut oldugunu belirtir

f paremetrelere verilecek degerlerin floating-point olarak belirtir kayan noktalı sayı ,bu nedenden dolayı glColor3f için atayacagımız parametreler 0.0 ile 1.0 arasında bir deger alır.Bu üç parametre Kırmızı,Yeşil,Mavi,(RGB) renk bileşenini temsil eder ,Bu parametreye verilen degerler ile istenilen renk ataması gercekleşir.

Örnek olarak kullanımı şu şekildedir
glColor3f(0.0,0.0,0.0);

Komutun ilk degeri (R)Kırmızı rengi temsil eder ikinci degeri (G)Yeşil rengi temsil eder üçüncü degeri(B)mavi rengi temsil eder

glColor3f(R,G,B);

bunların hepsine 0.0 verdigimiz için siyah renk ile çizim işlemi devam eder ,daha iyi kavraya bilmek için diger renkleride inceleyelim, belirlemek istedigimiz renk degerini yuksek tutarsak o renk ile çizim yapabiliriz.

Bir kaç örnek renk kombinasyonu

glColor3f(1.0, 0.0, 0.0); //kırmızı
glColor3f(0.0, 1.0, 0.0); //yeşil
glColor3f(1.0, 1.0, 0.0); //sarı
glColor3f(0.0, 0.0, 1.0); //mavi
glColor3f(1.0, 0.0, 1.0); //magenta
glColor3f(0.0, 1.0, 1.0); //cyan
glColor3f(1.0, 1.0, 1.0); //beyaz

yukarıdaki kombinasyondan iki rengi incelersek az çok bu işlemin nasıl gercekleştigini anlaya biliriz
örnegin kırmızı
glColor3f(1.0, 0.0, 0.0); //kırmızı
bu komutun renk degerlerine bakılınca sadece kırmızı renk degerinin 1.0 oldugunu görüyoruz digerleri en alt seviyede buda kırmızı rengi en üst seviyede elde etmemizi saglar kırmızının daha acık tonlarını kullanmak istersek
glColor3f(0.8, 0.0, 0.0); // az açık kırmızı
glColor3f(0.5, 0.0, 0.0); // açık kırmızı
glColor3f(0.3, 0.0, 0.0); // çok açık kırmızı

aynı şekilde diger renkler içinde aynı işlemi yapa biliriz
sarı renk i elde etmek için iki renk degerine birden deger veriyoruz
glColor3f(1.0, 1.0, 0.0); //sarı
kırmızı ve yeşil bu şekilde bu degerleride azaltarak açık daha açık vs şekilde daha ince sarıyı elde ede biliriz.Yüzeysel olarak normal hayatta oldugu gibi resim boyalarını bir birine karıştırmaya benzer.

Hiç yorum yok:

Yorum Gönder