• Bağış
  • OpenGL İsim Dizisi

    Yazan : Şadi Evren ŞEKER

    OpenGL programlaması sırasında ekrandaki bir nesnenin seçilmesi mümkündür. Bu seçme işlemi sırasında sanki ekranda verilen bir (x,y) koordinatından (ekran 2 boyutlu olduğu için görüntüler 3 boyutluda olsa sonuçları 2 boyutludur (detayı için izdüşüm (projection) konusunu okuyunuz) dolayısıyla sadece x ve y koordinatlarından) ekranda bir ışın fırlatılmış gibi, ışının geçtiği bütün nesnelerin isimlerini almaya yarar.

    Dolayısıyla ekrandaki seçilen x,y koordinatında görüntülen bütün nesnelerin isimlerini alan bir isim yığını (stack) openGL’de tanımlıdır. Bu yığının sıfırlanması ve ilk değerini alması aşağıdaki şekilde mümkündür:

    glInitNames();
    glPushName(0);
    
    glPushMatrix();   // Görüntünün değişmemesi
    // için çizime başlanmadan önceki dönüşümler
    // kaydediliyor 
    
    // ilk neseneye 1 ismi veriliyor ve ilk
    // nesne ekrana çiziliyor
        glLoadName(1);
        ilkNesneyiCiz();
    // ikinci nesne benzer şekilde çiziliyor
        glLoadName(2);
        ikinciNesneCiz();
    // son nesneyi ciz
        glLoadName(3);
        ucuncuNesneCiz();
    // goruntu donusumune geri donuyoruz
    glPopMatrix ();

    Yukarıda yorumlanmış olarak verilen kodu kullanarak çizim yapmanız ve çizilen nesnelerin isimlerini yığına (stack) koymanız mümkündür.

    Benzer Yazılar:

    Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'OpenGL İsim Dizisi' isimli yazı 06 Jan 2009 tarihinde, saat: 12:12 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 903 defa okunmuştur.

    Benzer yazıları Bilgisayar Grafiği (Computer Graphics) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


    Category: Bilgisayar Grafiği (Computer Graphics)

    Leave a Reply