Bilgisayar Grafikleri Ders 10: OpenGL_2

Slides:



Advertisements
Benzer bir sunumlar
YAPI ELEMANLARI – TEMEL UYGULAMASI
Advertisements

PERSPEKTİF Yukarıya doğru uzanan kenarlar YÜKSEKLİK kenarlarıdır.
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Makine Müh. & Jeoloji Müh.
Çatı Planı Ö: 1 / 50 A-A Kesiti Ö: 1 / 50 B-B Kesiti Ö: 1 / 50
PERSPEKTİF PERSPEKTİF (İZDÜŞÜM) :Cisimlerin yükseklik, genişlik ve derinlik boyutları ile ön, üst ve yan görünüşleri aynı anda birlikte görünecek şekilde.
DÖRTGENLER.
A-A KESİTİNİN ÇIKARILMASI
Neler Öğreneceksiniz ? Windows ve temel bileşenleri,
MATLAB MATLAB İLE GRAFİK.
FIZ 171 GRAFİK ÇİZİM PROGRAMI ORIGIN
Bilgisayar Programlama
BİLGİSAYAR İŞLETMENLİĞİ
Programlama-II (Java ile Bilgisayar Programlama)
İnönü Üniversitesi Bilgisayar Mühendisliği
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 2 C Dilinin Temelleri
Bezier Eğrileri ve Yüzeyleri
Tanım Birbirleriyle ilişkili ve bitişik iki ya da daha fazla bellek hücresinden oluşan yapı Örnek dizi tanımı: int tamsayiDizi[10]; tamsayiDizi[0] /*ilk.
Dr. Ahmet KÜÇÜKER Sakarya Üniversitesi Mühendislik Fakültesi
Bölüm 10 Yapılar ve Birleşimler
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
MATLAB’ de Programlama
Kutu Modeli Özellikleri
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
Fonksiyonlar.
Nesneye Dayalı Programlama
METODLAR.
Bilgisayar Grafikleri OPENGL
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Temel Veri Türleri ve Operatörler
FONKSİYONLAR.
METOTLAR.
İNTERNET PROGRAMCILIĞI I
HTML :Hyper Text Markup Language explorer, firefox, opera herhangi bir derleyiciye ihtiyaç duymadan çalışabilir metin biçimlendirme resim ekleme ve biçimlendirme.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Bilgisayar Programlama
Neler öğreneceğiz Temel Çizimler Üçgen Çizimleri
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
BİÇİMLENDİRME İŞLEMLERİ
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
GEOMETRİ VE AÇILAR GİZEM ÇAĞLI 6/B 372 ZEYNEP SUDE YALÇIN 6/B 47
WEB TASARIMININ TEMELLERİ
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
Bilgisayar Grafikleri Ders 9: OpenGL_1
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Bilgisayar Grafikleri Ders 12: OpenGL_5 Örnekler
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
İnternet Programlama-I HTML-TABLOLAR. HTML TABLOLARI HTML DİLİNDE TABLO OLUŞTURMAK İÇİN TAGI KULLANILIR. İYİ BİLİNMESİ GEREKEN KONULARDAN BİRİDİR ÇÜNKÜ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Veri yapıları Hafta3 Dizi Yapıları.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Hafta2 Rekürsif Algoritmalar
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Fonksiyonlar ve Diziler
C Programlama Dili Bilgisayar Mühendisliği.
RENK AYRIMI.
SketchUp 3D Çizim Programı
Neler Öğreneceksiniz ? Windows ve temel bileşenleri,
Bölüm 2 C Dilinin Temelleri
YAPISAL PROGRAMLAMA Hafta-6
Veri Tipleri 12/4/2018.
Bölüm 2 C Dilinin Temelleri
FIZ 171 GRAFİK ÇİZİM PROGRAMI ORIGIN. Temel bilimlerde yapılan bilimsel çalışmalarda yaygın olarak kullanılan grafik programlarından biri ORIGIN’dır.
C ile Programlamaya Giriş
Sunum transkripti:

Bilgisayar Grafikleri Ders 10: OpenGL_2 Doç. Dr. Cemil Öz Bilgisayar Grafikleri Ders 10: OpenGL_2 SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

Temel İşlevler void glutInit(int *argcp, char **argv) İşlev GLUT kitaplığının ilklendirilmesi için çağrılması gereken fonksiyondur. Bu çağırılmadan GLUT kitaplığından başka bir işlev çağrılamaz. Parametreler programın main() fonksiyondan alınır ve değiştirilmeden kullanılır. Kullanımı şöyledir: glutInit(&argc, argv); // main(int argc, char ** argv) olduğu varsayılmıştır. OpenGL Temel İşlevler

int glutCreateWindow (char isim) Pencere sisteminde bir pencere oluşturur ve pencere başlığına isim parametresindeki metni yazar. Pencere numarası ile döner. void glutDisplayFunc (int (*islev) (void)) Pencere ekrana çizildikten sonra pencerenin içerisinde gösterilecekleri oluşturan fonksiyonun belirtileceği işlevdir (callback). void glutMainLoop() Bu fonksiyon sayesinde program kendisine gelecek olayları (event) dinlemeye başlar ve eğer tanımlıysa gelen olaya göre tanımlanmış bir işlevi (callback) çalıştırır. OpenGL Temel İşlevler

void glClear (GLbitfield maske) Tamponların içeriğini glClearColor, glClearIndex, glClearDepth, glClearStencil ve glClearAccum işlevleri ile belirlenen değerlerle temizler. Parametre olarak GL_COLOR_BUFFER_BIT, GL_DEPTH_BUFFER_BIT, GL_ACCUM_BUFFER_BIT, GL_STENCIL_BUFFER_BIT sabitlerinden birini ya da bunların VEYA lanmış değerini alır. OpenGL Temel İşlevler

void glBegin (enum kip) Bu işlev bir çizimin başlatıldığını belirtir. Aldığı parametre ise çizilen şeyin noktalar, çizgiler veya içi dolu çizgiler şeklinde görüneceğini belirtir. Parametre olarak aldığı sembolik sabitler: GL_POINTS Verilen noktaları nokta olarak çizer. OpenGL Temel İşlevler

GL_LINES GL_POLYGON GL_QUADS Verilen noktaları doğrularla birleştirir. Verilen noktaları doğrularla birleştirir ve oluşan şeklin içini renklendirir. GL_QUADS Verilen dört noktadan içi boyanmış dörtgen oluşturur. glBegin(GL_POLYGON); glVertex3f(0.25, 0.25, 0.0); glVertex3f(0.75, 0.25, 0.0); glVertex3f(0.75, 0.75, 0.0); glVertex3f(0.25, 0.75, 0.0); glEnd(); OpenGL Temel İşlevler

GL_TRIANGLES GL_TRIANGLE_STRIP Verilen üç noktadan içi boyanmış üçgen oluşturur. GL_TRIANGLE_STRIP Şu noktalar glBegin ve glEnd arasında çizdirilmiş olsun: p0, p1, p2, p3, p4, p5. p0, p1 ve p2'den bir üçgen oluşturulur ve sonraki her nokta için önceki iki nokta birleştirilerek bir üçgen daha oluşturulur. Yani p3 ile p1 ve p2 birleştirilir. Daha sonra p4 ile p3 ve p2, ... vs. OpenGL Temel İşlevler

GL_QUAD_STRIP GL_TRIANGLE_FAN GL_TRIANGLE_STRIP gibi çalışır, ama bu sefer verilen iki noktayı önceki iki nokta ile birleştirerek bir dörtgen oluşturur. GL_TRIANGLE_FAN p0, p1, p2, p3, p4, p5 verilmiş olsun. p0, p1 ve p2 üçgeni çizilir. Daha sonra p4 için p0 ve p3 birleştirilerek yeni üçgen elde edilir. p5 ile p4 ve p0 birleştirilir, ...vs. Böylece şekil yelpaze gibi olur. OpenGL Temel İşlevler

void glEnd() glBegin() ile başlayan çizim işleminin bittiğini belirtir. Çizdirilen şekil ekrana yazılmak üzere saklanır; glFlush() ile ekrana yazılır. void glFlush() Eğer çizilenler tamponlanmışsa, tampon bellekteki tüm şekillerin ekrana basılmasını sağlar. Sadece yukarıdaki işlevleri kullanarak basit geometrik şekillerin iki boyutta çizimi mümkündür. OpenGL Temel İşlevler

void glClearColor (GLclampf kırmızı, GLclampf yeşil, GLclampf mavi, GLclampf donukluk) glClear() işleviyle temizlenen ekran renk tamponunun ne renk alacağını belirler. Her parametre 0 ya da 1 değerini alır. Örneğin donukluk değeri 0 ise şeffaflık, 1 ise donukluk elde edilir. Öntanımlı değerlerin tümü 0'dır. OpenGL Temel İşlevler

void glColor3s (short kırmızı, short yeşil, short mavi) Çizilecek şeklin rengini belirler. Öntanımlı değerlerin tümü 0'dır. void glutInitWindowSize (int genişlik, int yükseklik) Oluşturulan pencerenin boyutlarını belirler. Pencere boyutlarının öntanımlı değeri (300, 300)'dür. OpenGL Temel İşlevler

void glutInitWindowPosition (int x, int y) Pencerenin konumlanacağı yeri belirtir. Pencere yerinin öntanımlı değeri (-1, -1)'dir, böylece yerini pencere yöneticisi belirler. void glLineWidth (float genişlik) Çizginin kalınlığını belirtir. Bu işlevle değiştirilmedikçe kalınlığın öntanımlı değeri 1.0'dır. OpenGL Temel İşlevler

void glLineStipple (int çarpan, short örüntü) Çizginin nokta nokta ya da düz çizgi şeklinde görünmesini ayarlar. Eğer örüntüdeki bit 0 ise bu bite karşı gelen benek ekrana basılmaz, eğer 1 ise ekrana basılır; Böylece kesik kesik çizgi çizilebilir. Örnek: glLineStipple(3, 0xcccc); /* 0xCCCC = 1100110011001100 */ Bu örnekte ikilik örüntü 3 ile genişletilmiştir. Bu işlevle, ekrandaki çizgiler 6 beneklik gruplara ayrılacak ve bir grup ekrana basılacak, bir grup basılmayacaktır. OpenGL Temel İşlevler

void glEnable() void glDisable() Örnek: Performans artışı sağlamak için OpenGL'deki kesiklililik, ışıklandırma, kaplama gibi özellikler glDisable() ile kapatılabilir. Böylece bu özellikler şeklin ekranda oluşturulması sırasında göz ardı edilecek şekil daha hızlı ortaya çıkacaktır. glEnable() özelliğin kullanılmasını sağlarken glDisable() kullanılmaz hale getirir. Örnek: glEnable(GL_LINE_STIPPLE); // kesikli çizgi çizebilmek için glEnable(GL_SMOOTH); // renk geçişlerini yumuşatmak için OpenGL Temel İşlevler

void glRecti(int x1, int y1, int x2, int y2) İşlev, bir köşesi ilk iki parametresi ile çapraz köşesi ise son iki parametresi ile belirtilen bir dörtgenin çizilmesini sağlar. İşlevin glRects, glRectf, glRectd türevleri de vardır. Tek farkları parametrelerinin sırasıyla short, float, ve double olmasıdır. OpenGL Temel İşlevler