Category: Computer Graphics

  • Who is the OpenGL

    Who is the OpenGL

    The OpenGL is an abstract graphic API which describes the graphic functions which can we use and which can be implemented by graphics card manufactuers and other vendors. In dark ages every manufactures create their own rules for draw something on screen. Now think you are a developer who try to write a mini game…

  • Vertex Buffer Object

    Vertex Buffer Object

    Vertex buffer nesnesi aslında bir buffer object’ir. Bu şekilde adlandırılmasının sebebi vertex array data’sını tuttuğu içindir. Diğer buffer nesnelerinden farkı yoktur. Kullanımı

  • Buffer Object

    Buffer Object

    Buffer nesnesi, OpenGL bağlamı tarafından allocate edilen biçimlendirilmemiş array’in depolandığı OpenGL nesnesidir. Bu; vertex data, resimden veya framebuffer’dan gelen pixel data, ve çeşitli başka şeyler. Creation Buffer nesnesi bir opengl nesnesidir ve bu sebepten ötürü normal opengl nesneleri tarafından geçerli olan tüm kurallar geçerlidir. Buffer nesnesi oluşturmakiçin glGenBuffer; silmek içinse glDeleteBuffers fonksiyonunu kullanabiliriz. Çoğu opengl…

  • OpenGL Object

    OpenGL Object

    Bir OpenGL Nesnesi(object), bazı durumları(state) içeren bir OpenGL yapısıdır(construct). Bağlama(context) bağlı olduklarında, içerdikleri durum bağlamın durumuna eşlenir. Böylece, bağlam durumundaki değişiklikler bu nesnede depolanacak ve bu bağlam durumu üzerinde çalışan fonksiyonlar, nesnede depolanan durumu kullanacaktır. OpenGL bir “durum makinesi”(state machine) olarak tanımlanır. Çeşitli API çağrıları OpenGL durumunu değiştirir, bu durumun bir kısmını sorgular veya OpenGL’nin…

  • Fragment

    Fragment

    Fragment, Rasterizer tarafından üretilen bir değerler topluluğudur. Her fragment, rasterleştirilmiş bir primitiv’in örnek boyutlu bir bölümünü temsil eder. Bir fragment’ın kapsadığı boyut, piksel alanıyla ilgilidir, ancak rasterleştirme, çeşitli çoklu multisampling parametrelerine ve OpenGL state’e bağlı olarak, piksel başına aynı üçgenden birden çok fragment oluşturabilir. Rasterleştirilmiş bir primitive tarafından kapsanan her piksel alanı için üretilen en…

  • Graphics Pipeline

    Graphics Pipeline

    Graphic pipeline (renderin pipeline), 3D bir sahnenin 2D olarak render alınması için gereken adımlardır. Aşağıda (basitleştirilmiş) bir graphics pipeline görüyoruz. Mavi olanlar programlanabiliri shader’lardır. Bizler için şuanlık önemli olan vertex shader ve fragment shader adımlarıdır. Modern OpenGL’i kullanabilmemiz için en azından bu iki shader’ı yazmamız gerekli. Yukarıdaki adımları kısaca anlatalım: Vertex shader temel olarak 3D…

  • Normalized Device Coordinate (NDC)

    Normalized Device Coordinate (NDC)

    Normalized device coordinate or NDC space is a screen independent display coordinate system; it encompasses a cube where the x, y, and z components range from −1 to 1. Although clipping to the view volume is specified to happen in clip space, NDC space can be thought of as the space that defines the view…