Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


Displaylist Kullanımı

(292 kelime)
(917 okuma)   Yazdırılabilir Sayfa




Displaylist Kullanımı:

Displaylist 'ler uygulamalarımızda bize hızlı işlem yapma olanağı kazandıran oldukça yararlı yapılardır. Basit olarak: bir dizi OpenGL komutunu çalıştırılmak üzere bir displaylist içine toplarsınız ve o listeyi oluşturursunuz. Daha sonra bu displaylist 'i uygulama komutunu her verdiğiniz zaman yaptığınız tüm işlemler hızlı bir biçimde OpenGL sistemi tarafından uygulanır.

Displaylist 'leri kullanmanın şüphesiz en büyük getirisi bize hız kazandırmalarıdır. Örneğin bir dizi OpenGL işlemini (çizim, transformasyon, durum değişimi vb.) devamlı olarak uygulamanız gerektiği durumlarda displaylist 'ler içerisinde bu uygulamayı yaparsanız bu komutların daha hızlı biçimde gerçekleştirildiğini görürsünüz. Çünkü her görüntü oluşturma işlemi sırasında poligon çizimleri ile ilgili emirler ve durum değişikliği komutları OpenGL sisteminde görüntü oluşturma döngüsü içerisinde en baştan işlenmek zorunda olacaktı. Displaylist içerisinde bu komutları verdiğiniz zaman ise, OpenGL sistemi gerekli optimizasyonları yapar ve displaylist 'i uygulama komutu geldiğinde içindeki yönergeleri daha hızlı bir biçimde işler.

Şimdi basit bir örnek ile diplaylist kullanımını görelim. İlk olarak OpenGL sisteminden oluşturacağımız displaylist için kullanacağımız bir tanıtıcı numara (id) istiyoruz.

int id;
id = glGenLists(1);


OpenGL sistemi içerisinde birçok displaylist tanımlayabilirsiniz. Her displaylist diğerinden bir sayı ile ayrılır. Yukarıdaki fonksiyon sistemden böyle bir numara almamızı sağlar. Şimdi ise bu numarayı kullanarak diplaylist oluşturma komutunu verelim:

glNewList(id,GL_COMPILE);

İlk parametre biraz önce aldığımız id değeridir. İkinci parametre ise diplaylist 'in türünü belirtmekte kullanılır. Bu parametre neredeyse tüm pratik kullanımlarda GL_COMPILE şeklinde olmalıdır. Artık sırada displaylist içine istediğimiz OpenGL komutlarını girmeye geldi. Bu komutlar diplaylist çağırıldığı zaman otomatik olarak uygulanacaktır. Biz örneğimizde kırmızı bir üçgen çizdirelim:

glColor3f(1,0,0);
glBegin(GL_TRIANGLES);
        glVertex3f(-0.5,-0.5,0.0);
        glVertex3f(0.5,0.0,0.0);
        glVertex3f(0.0,0.5,0.0);
glEnd();

Son olarak ise diplaylist 'i sona erdiren komutu kullanmalıyız.

glEndList();

Artık displaylist 'imiz oluşturulmuş ve kullanılmaya hazır haldedir. Şimdi programlarınızda bir üçgen çizdirmek istediğiniz herhangi bir yerde glCallList(id); diyerek diplaylist 'i uygulayabilir ve kırmızı üçgeninizi çizdirebilirsiniz. GLUT programlarınızda renderScene() yordamı bu çağırımı yapmanız gereken yerdir.

glCallList(id);

Displaylist 'ler OpenGL uygulamalarınızı daha hızlı hale getirmek için kullanabileceğiniz en basit ve kullanımı kolay yöntemlerden biridir. Özellikle bir seri çizim işlemini birçok defa uygulamanız gerektiği durumlarda diplaylist 'leri kullanmanızı şiddetle tavsiye ederim.

Deniz Aydınoğlu :: 2002 ::
  

[ Geri Dön: OpenGL | Bölümler İndeksi ]




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.064 Saniye