Bilgisayar Grafikleri Sözlüğü-Oyun Programcılığı Sözlüğü

'Eğitim Alanı' forumunda Ander tarafından 25 May 2020 tarihinde açılan konu

  1. Ander

    Ander Site Yetkilisi Administrator

    Katılım:
    28 Nis 2020
    Mesaj:
    81
    Alınan Beğeniler:
    13
    [​IMG]
    Accumulation Buffer: Color Buffer'da oluşturulan görüntülerin toplandığı ve gerektiğinde üzerinde depth of field, motion blur, full-scene antialiasing ve soft shodow gibi efektlerin uygulandığı bellek alanıdır. Kullanılması durumunda Accumulation Buffer'dan tekrar color buffer'a görüntünün yüklenmesi gerektiği ve ekranda görüntünün oluşturulması için ekranın birden fazla kez renderlenmesi gerekir. Tabii olarak buda belli bir zaman kaybına sebeb olur. Ama kayda değer kalitelerde görüntüler için kullanılması zorunlu.
    Yukarıda Bahsedilen Color Buffer hakkında bilgiyi ileride ayrıntılı olarak bulabilirsiniz kısaca ekrana yansıtılan görüntünün renk değerlerini tutan buffer'a verilen ad.
    Depth-of-field ise cisimlerin derinlik etkisini daha gerçekçi bir şekilde verecek şekilde oluşturulması, görüntülenmesi

    İlk şekil Depth-of-field tekniğinin uygulanmadığı sadece bir perspektif projeksiyon sonucu oluşturulmuş bir görüntüdür.
    İkinci şekil ise Depth-of-field tekniğinin uygulandığı 24 farklı bakış açısından oluşturulan görüntülerin Accumulation Buffer'da toplanarak ortalama değerlerini oluşturulur. Viewing parametreleri belirlenir. Bu sayede tüm bakış açılarındaki görüntüler için en iyi fokusu belirleyecek ortak düzlem belirlenir. Geri plandaki nesneler otamatik daha bulanık gözükecektir.

    Motion-Blur görüntüde hareketi gösterebilmek için bu teknik kullanılır. Mesela hızlı giden arabayı yakın çekim sonucu arabayı sanki hareketliymiş gibi görünür bu gerçekçi görüntüyü bilgisayara yansıtmak için Motion-Blur tekniği kullanılır. Aşağıdaki şekilde atomların arka akaya hareketleri Motion-Blur tekniği kullanılarak oluşturulmuştur.

    Antialiasing kavramı resimde oluşan kırıkların giderilmesini sağlayan teknikler, algoritmalar diyebiliriz. Birinci resimde normal olarak renderleme işlemi gerçekleştirilirken ikinci resimde ise antialiasing kullanılarak renderleme gerçekleştirilmiştir.

    Soft -Shodow tekniğinde ise birden fazla ışık kaynağının oluşturduğu gölgeleri aynı anda görüntüleyebilmek için kullanılan bir tekniktir. Shodowing konusu ileride algoritmaları ile birlikte ayrıntılı olarak anlatılacaktır.
    Aliasing : Nesnelerin görüntülenmesi sırasında çizgilerin veya pixel topluluklarının kırık kırık gözükmesini önemsemeden yapılmayan renderlemedir. Birinci şekilde aliasing renderleme sonucunda oluşan şekil. Sağdaki şekide ise Anti-aliasing tekniği kullanılarak renderlenmiş bir görüntü görmektesiniz.
    Alpha: Rengin dördüncü bileşenidir (Red, Green, Blue, Alpha) Alpha hiçbir zaman direk olarak bir renk unsuru olarak kullanılmaz sadece renklerin birbiriyle karışmasının kontrolörü olarak kullanılır. Kısaca bir nesnenin opaklığını belirlemede rol oynar. Değerinin 1.0 olması donuk, 0.0 olması transparan olduğunu gösterir.
    Ambient : OpenGL ışık etkisini nesnelerin yüzeyine geliş açısına göre hesaplar. Buna göre ışığın tam dik düştüğü noktada nesnenin rengi ışıktan en yüksek oranda etkilenirken, en eğik düştüğü noktada en az miktarda eklenir. Nesnelerin arka tarafında kalan ve hiç ışık almayan yüzler ise Ambient Işık denilen ortam ışığı denilen ışık tipinden etkilenir.
    Ambient Işık ortama hakim olan bir renk olduğundan nesnenin ışık alan bölgelerinde de belli oranda etki eder.(Işık şiddetiyle ters orantılı olarak). Ortam ışığının bir kaynağı bulunmadığından, bu ışık geliş açısına göre azalma göstermez.
    Animation : Canlandırma. Canlandırma bir sinema şeridinde olduğu gibi bir sürü resmin ard arda gösterilerek, resimlerdeki nesnelerin hareketliymiş gibi görünmesi prensibine dayanmaktadır.
    Antialiasing : Aliasing renderleme tekniğinde oluşan kırılmaları engelleyici bir takım algoritmaların çalıştırılmasıyla daha gerçekçi bir renderleme sağlama tekniğidir. Aşağıda aliasing oluşturan birkaç örnek gözükmekte.
    Bu kırılma ve bozulmaları gidermek için Supersampling, Adaptive Sampling, Stochastic Sampling ... algoritmalar kullanılır.
    application-spesific clipping: Kırpılma işlemi ilk önce Viewing tarafından gerçekleştirilir. Ayrıca nesnlerinizi kendi belirlediğiniz düzlemleri kullanarakda kırpabilirsiniz. Bunun için glClipPlane( ) komutu içerisinde düzleminizi belirtmeniz yeterli.
    Attenuation : Işık kaynaklarının yaydığı ışığın, kaynaktan uzaklaştıkça zayıflaması. OpenGL ışık etkisinin azalma fonksiyonunu 3 değişik tipte ayarlar. Bunlar sabit, linear ve quadratic azalmadır. Aşağıda Attenuation'un OpenGL içerisinde kullanımları gösterilmektedir.
    glLightf(GL_LIGHT5, GL_CONSTANT_ATTENUATION, 1.5); glLightf(GL_LIGHT5, GL_LINEAR_ATTENUATION, 2.0); glLightf(GL_LIGHT5, GL_QUADRATIC_ATTENUATION, 1.1);Attribute group : Birbirleriyle ilişkili durum değişkenleri için ortak gruplar tanımlayarak bir seferde tümü üzerinde değişikliği yapmanızı sağlayan yapı.(OpenGL)
    Back faces: Polygonun arka yüzeyi. Bir polygonun arka yüzey mi olup olmadığına bakış doğrultusuna göre karar verilir.(OpenGL)
    Bitplane: Mantıksal bit değerlerini tutan 2 boyutlu bir array' dir. Framebuffer bu bitplane' lerini yığıt olarak tutulduğu bufferdır.
    Blending: İki veya daha fazla renk bileşenini harmanlarayak (karıştırarak) yeni renk tonunu oluşturma işlemi.
    Buffer : Bitplanelerin tek bir bileşen oluşturmak için gruplandırılması. Mesela derinlik buffer' ı için derinlik bitplaneleri gruplaştırılır. Red Buffer için kırmızı bitplane' leri guruplaşarak Red Buffer' ı oluşturulur. Red, Green, Blue Buffer' lar birlikte Color Buffers olarakta ifade edilir.
    Clip Coordinates: Perspective Division işleminden önce gözükmeyen alanlar için boşu boşuna hesaplama yapılmaması için View Volume Clipping işlemi gerçekleştirilir (Görülmeyen yüzeylerin kırpılma işlemi). Bu işlem sırasında "Clip Coordinates"(kırpılma koordinatları) kullanılır. Bu koordinatlar yukarıda belirtilen bizim belirlediğimiz düzlemlerle kırpma işleminde kullanılmaz.
    Clipping: Kırpma işlemi. Gözükmeyen yüzeylerin veya gözükmesini istemediğiniz yüzeylerin belli komutlar ve düzlemler aracılığı ile kırpılması( Bu yüzeyler ekranda gözükmez ve üzerlerinde dönüşüm, kaplama, ışık hesaplamaları yapılmaz bu sayede sisteme büyük bir performans kazancı sağlanır.
    Components :Tekil ve sürekli değerler.Bu değerler yoğunluğu ve kaliteyi belirliyor. Mesela 0-1 Arasında kalan floating pointer değerler.(OpenGL)
    Concave: Convex olamayan, çukur , içbükey
    Convex: Dışbükey. İlk şekil Convex bir nesneyken( cismin içine çizilen çizginin tüm noktaları cismi içerisindedir). İkinci şekil ise non-convex bir nesnedir.
    Convex hull: En küçük konvex alanının oluşturulması yada bulunması için her noktadan geçen lastiğin oluşturduğu yapıdır.
    Coordinate system: N-boyutlu bir uzayda n linear bağımsız vektörün bir nokta(origin) üzerinde kesişmesi ona tutunması ile oluşan sanal sistemdir.
    Culling: Polygonun ön ve arka yüzeyinden sadece birisininin renderlenerek diğerinin elenmesi işlemi.
    Current matrix: Uzayda farklı koordinat sistemlerini tanımlayabilmek ve sistemde gerektiği zaman kullanılmak için OpenGL' in sağladığı matrisler koordinat sistemlerini tutarlar.
    Modelview Matrix nesne koordinatları üzerinde değişiklik yapmakta.
    Perspective Matrix göz koordinatları üzerinde değişiklik yapmakta.
    Texture Matrix kaplama koordinatları üzerinde değişiklik yapmakta.
    Current raster position : Pencere koordinat posizyonu.
    Decal: Kaplama uygulaması esnasında renk değerlerinin hesaplanmasıyla ilgili methoda kaplama renklerini parça renklerle yerdeğiştirerek veya Alpha Blending söz konusuysa kaplama renkleriyle parça renkleri ile alpha değerinde karıştırılarak elde edilen doku.
    Depth : Derinlik, Bilgisayar Grafiklerinde Z koordinatı olarak kullanılır.
    Depth Buffer : Z Buffer da renk fragmentleri tutulmaz her pixel ait derinlik bilgileri tutulur. Eğer bir fragmentin derinliği o anki derinlikten fazla ise arkada kalacağından daha derinde olan gözükmeyecektir. Z Buffer glDepthFunc() kontrol edilir.
    Depth-cuing : Derinliğin etkisini renk değerleri üzerindede gösteren bir renderleme tekniği. Nesnenin izleyiciye olan uzaklığı ile uygun bir şekilde, nesnenin rengini ve renk tonunu değiştirme.
    Diffuse: Yüzeye doğrusal olarak vuran ışığın rengi dışındaki renk parçalarının soğrulması ve kendi renginin dışarıya yansıtılması şeklinde gerçekleşir. Bu yansıyan genel renge "nesnenin diffuse" değeri denir.
    Directional light source: Doğrusal ışık kaynağı
    Display list: Sonradan tekrar kullanılılacak olan bir grup OpenGL komut setinin saklanması, tekrar kullanılacağı zaman Display List' ten çağrılarak işlemlerin gerçekleştirilmesini sağlayan bellek alanı yada liste yapısı. Display List' in getirdiği avantaj tekrar aynı işlemler için (Texture, Işık, NURBS, Tesselation) yapılacak hesaplamaların yapılmasına gerek kalmamasıdır.
    Dithering: Bazı grafik donanımları gösterebildikleri renk sayısını arttırmak için dithering tekniğini kullanabilirler. Dithering tekniği iki rengin birleşmesi ile farklı bir renk tonu yakalamayı sağlar. Mesela Yeşil, Kırmızı ve Mavi için bir bitlik yer ayrıldığını varsayalım, bu durumda bilgisayarda gösterbileceğiniz renk sayısı 8' dir. Bunlar siyah, beyaz, kırmız, mavi, yeşil, sarı, cyan ve magenta renkleri oluşacaktır. Pembe rengi bu sistemde oluşturmak içinse belli bir alana mavi ve bayaz renklerini yan yana göndermeliz. Yeterince uzakta olan birisi bu alanı pembe rengiyle boyanmış gibi algılayacaktır. Aynı şekilde siyah beyaz ekranlarda grinin tonları bu şekilde elde edilmektedir.
    Double buffering: Statik bir resim değilde canlandırma yahut dinamik sürekli değişen bir resimler göstermek istiyorsanız. FrameBuffer' daki ColorBuffer alanını Front ve Back Buffer olarak ikiye bölmelisiniz. Bu sayede gerekli değişiklikleri back bufferda gerçekleştirerek kullanıcıya hiçbirşey hissettirmeden yeni sayfayı yenileyebilirsiniz. OpenGL glut kütüphanesinden glutSwapBuffers() komutu ile Back Buffer' daki bilgilerin Front Buffer' a geçmesi sağlanır.
    Edge flag: OpenGL' e has bir özelliktir. OpenGL' de polygonu oluşturan kenarlar çizilmesi hakkında ayrıca değer tutar. Duruma göre bu değer değiştirilerek poligonun istenen kenarları çizdirilmeyebilir.
    Emission: Nesnenin kendi ışıma veya aydınlatma sonucu sahip olduğu renk. Başka herhangi bir dışşal ışık kaynağından etkilenmeden kendi yaydığı ışık. Bu ışık tipi genelde akşam yanan bir gece lambası, ateşböceğinin ışığını veya fosforu simule etmek için kullanılır.
    Evaluated: Bezier denklemlerinde nesne nokta koordinatları üzerinde yapılan hesaplamalar.
    Eye cooridnates: Göz, Kamera Koordinatları
    Faces: Kısaca çokgenin(polygon) yüzeyidir. Her çokgen ön ve arka olmak üzere iki yüzeye sahiptir. Ekranda sadece bir yüzeyi yada iki yüzeyi birlikte gösterebilme yeteneğine sahiptir.
    Feedback: Ekranda çizilmesi veya boyanması gereken alanın işleminin bitip bitmediğine dair bilginin verilmesi
    Filtering: Resim veya kaplama pixellerin çözünürlüğünü arttırmak veya azaltmak için yapılan birleştirme işlemlerine denir.
    Flat shading: Genelde sabit renklerin düzgün bir yüzeye ,pek yuvarlak olmayan bir yüzeye uygulanması esnasında kullanılır. Polygon için ortalama bir değer seçilerek tüm köşelerde bu değer kullanılır. Bu gölgelendirme şeklinde kalite düşük fakat renderleme daha hızlıdır.
    Fog: Renderleme tekniğidir. Atmosferik havanın oluşturulması için kullanılan sis etkisidir.
    Fragment: Temel çizim elemanlarının rasterizasyonu ile oluşan bir pixelin renk, derinlik, texture coordinat değerini tutan parça
    Framebuffer: Bütün bufferların oluşturduğu topluluğa verilen isim.
    Color Buffer 32 bit 1024*768 *2 (Double Buffer) = 6MB
    Depth Buffer 24 bit 1024*768 = 2304 KB
    Stencil Buffer 8 bit 1024*768 = 768 KB
    Accumulation Buffer 64 bit 1024*768= 6MB
    Stereo Buffer için (+Color Buffer) 6 MB
    Auxilary Buffer3MB * 4 Auxilary Buffer = 12 MB
    Gamma correction: Görüntü parlaklığında oluşan non-linear oluşumları linear renk-yoğunluğuna dönüştürmek. Görüntü renk -yoğunluğu CRT tipli Cathode Ray tüplü monitörlerde farklılık göstermekte Pixel' in parlaklığı değişen voltaj yoğunluğu ile doğru orantılı olarak değişmeli fakat pixelin parlaklığı ile voltaj değişimleri linear değildir.
    gamma correction bellekteki görüntü üzerinde tam ters yönünde non-linear effekt etkisinde bulunarak voltaj ve brightness' ın linear olmasını sağlar.
    Gouraud shading(Smooth): Bir tip gölgelendirme şeklidir. Bu gölgelendirmede polygonlar arası geçiş yumşaktır bu sayade smooth shading sağlanmış olur. Işık flat shading gölgelendirmede ki gibi ortalama olarak değilde her vertex için ayrı ayrı hesaplanır. Bu sayede aynı köşeye sahip polygonlar arasında renk farkı az olacaktır.
    Half-spaces: Bir düzlemin uzayı iki parçaya ayırması sonucu oluşan yapıya denir.
    Hidden line removal : Wireframe rendering sırasında görünmeyen çizgilerin elenerek sadece görünen çizgilerin renderlenmesi
    Hidden Surface removal: Hidden Line Removal durumun yüzey renderlemesi sırasında geçerli olması.
    Immediate mode: OpenGL komutun direk olarak çalıştırılması yani tüm gerekli hesaplamaların yapılarak renderleme işleminin gerçekleştirilmesi ( Display List Kullanmadan çalıştırılan OpenGL komutları)
    Infinite light source: sınırsız doğrusal ışık kaynağı (örn:güneş) . Doğrusal ışık kaynağı fakat çok büyük olduğu için tüm objelere parallel bir şekilde çarptığı varsayılır.
    Level of detail :Bir objenin yada resmin değişik çözünürlükte kopyelerinin oluşturulması. Aşağıdaki şekilde objenin çözünürlüğünün nasıl düşürüldüğünü görebilirsiniz.
    Lighting: Aydınlatma
    Line: Çizgi. OpenGL 'de iki vertex' in birleştiren sınırlı uzunluktaki doğrudur. Matematiksel çizgilerden farklı olarak sınırlı genişlik ve uzunluğa sahiptir.
    Local light source: Belli bir pozisyonda aydınlatma yapan ışık kaynaklarına denir (point light source, positional light source, spotlight)
    Logical operation: Üzerinde AND, OR, XOR, NAND, ve INVERT işlemlerinin yapılması. Genelde bu işlemler framebufferda yüklü olan renk değerleri üzerinde yapılır.
    Luminance : Parlaklık.
    ****rial : Sayısal olarak fonksiyonlarla oluşturulmuş kaplamaya (texture) denir.
    Minmax: Görüntü üzerinde görüntü alt kümesini(subsetini) kullanarak işlem yapabilen minumum ve maximum pixel değerleri (pixel işlemleri bu min-max değerleri arasında kalmak zorunda)
    Minmap: Çözünürlüğü azaltılmış texture map' tir
    Modelview matrix: 4*4 Matris' tir. Nokta, çizgi, polygon ve raster posizyonların nesne koordinatlarından göz koordinatlarına geçişte ve dönüşümler(transformation) için kullanılır.
    Modulate: Kaplama uygulamaları süresince renk değerlerini hesaplayan method
    Motion bluring: Durağan bir görüntüde nesneleri hareketliymiş gibi göstermenin bir yoludur. İşlem OpenGL' de accumulation buffer üzerinde gerçekleştirilir ve bunun için glAccum(GL_MULT, decayFactor); komutu kullanılmaktadır.
    Multitexturing: Tek bir nesne üzerine birden fazla kaplamanın uygulanmasıdır.
    Normal : Yüzeye dik olan düzlem
    Normal Vectors: Yüzeye dik olan vektör
    NURBS: Non Uniform Rational B-Spline
    Orthografic: Parallel projeksiyon
    Perspective Correction: Perspective projeksiyon ve rendering esnasında kaplamalarda oluşan taşmalar için yapılan ek hesaplamalar yapılması işlemi.
    Perspective Division: Perspektif bölümleme
    Picking: Görüntü içerisinden bir alanı seçme işlemidir.
    Polygon: Kapalı bir yüzeye sahip çokken
    Projection matrix: 4*4 Matris' tir. Nokta, çizgi, poligon ve raster posizyonları göz koordinatlarındam clipping koordinatlara geçişte kullanılır.
    Quadrilateral: dört kenarlı çokgen, dörtgener
    Rasterized: Nokta, çizgi, polygon ve diğer primitif nesneleri matematiksel değerlerini framebuffer daki pixel değerlerine döndüren işlem süreci.
    Rendering: Kaplama
    Resident texture: Özel texture belleğinde tutulan yüksek kalitedeki kaplama resimlerine denir.
    RGBA: Renk formatı. Red, Green, Blue, Alpha
    RGBA mode: Color indexleri yerine Red, Green, Blue, Alpha olarak color bufferda saklanırsa
    Scissoring: Bir fragmente uygulanan kırpma(clipping) testi. Ekranda metin, resim, çizgi ve diğer elemanların çizimi yapılmadan önce bufferda bir takım testlerden geçirilir. Testlerin yapılma sırası aşağıda listelenmiştir.
    1. Scissor test.
    2. Alpha test.
    3. Stencil test.
    4. Depth test.
    5. Blending
    6. Dithering
    7. Logical operations.
    Shading: Tonlama, Gölgelendirme
    Flat Shading: çok kaliteli değil ama hızlı
    Smooth , Gouraud Shading: kaliteli diğerine göre yavaş
    Phong Shading: Daha çok ****lsi cisimlere uygulanır. (reflection, refrection ve shining durumlarının daha gerçekçi gerçekleştirilebilmesi için pixel bazında ki gölgelendirmedir.)
    Specular : Işığın cisme çarptıktan sonra yansıyan rengi. ****lik cisimlerde specular değer oldukça yüksektir.
    Spotlight: Konik ışıkla sembolize edilen belirli bir pozisyona sahip merkezden uzaklaştıkça ve aydınlattığı alan büyüdükçe aydınlatma yoğunluğu azalan ışık kaynağı.
    Stencil buffer : Shodow, Maskeleme ve CSG işlemlerinde üst üste binen pixellerin sayılarak yeni gözüken yüzeylerin gözükmesi sağlanır. Burada görüntü uzayı tekniklerinin CSG katı modelleme gibi işlemler için yetersiz olduğu görülebilir.
    Stereo: Aynı görüntüyü iki görüntüyü farklı açılardan çekerek gözde üç boyut yaratacak şekilde göze verilerek üçüncü boyutun görüntüde sağlanması. Bu işlemlerin gerçekleşebilmesi için iki monitöre yahut aynı anda iki farklı görüntüyü verebilecek gözlüğe bunu destekleyen 3D ekran kartları gerekir.
    Tessellation: Polygonları birbiri ardına gelen mozaik parçalara bölerek dizmek. Daha çok bu teknik 3 den fazla kenarı olan poligonları kolay bir şekilde üçgene çevirmek için kullanılır.
    Texel: Bir kaplama elemanına verilen ad
    Texture mapping: (Doku Kaplama)Bir kaplamanın bir primitif' e uygulanması
    Texture matrix : Kaplama koordinatlarını tutan 4*4 ' lük bir matris
    Textures: Primitiflerin veya polygonların üzerine kaplanan görüntü
    Transformations: Taşıma, çevirme, ölçeklendirme vb .. dönüşüm işlemlerine denir.
    Viewpoint: Göz koordinat sisteminin orijini.
    View volume: Kırpılma koordinatları(clipping coordinate) içerisinde kalan hacim
    VRML : Virtual Reality Modeling Language
    Wireframe : Nesneleri ağsı bir yapıda kaplanmamış bir şekilde line segmentlerle gösterilmesi işlemi

    Yararlandığım Kaynaklar


    Kitaplar

    OpenGL Programming Guide (Red Book)
    Computer Graphics C version
    Computer Graphics Using OpenGL
    Computer Graphics: Principles and Practice
    OpenGL Programming Windows 95 and Windows NT
    Lightwave 3D

Bu Sayfayı Paylaş