Giriş

Buraya geldiğinize göre muhtemelen bilgisayar grafiklerinin içeride nasıl çalıştığını öğrenmek ve her şeyi kendiniz yapmayı öğrenerek hava atmak istiyorsunuz. Bir şeyleri kendiniz yapmanız son derece eğlenceli ve yararlıdır, ayrıca grafik programlamayı harika bir şekilde anlamanızı sağlar. Ancak, yola çıkmadan önce dikkate alınması gereken birkaç şey var.

Önkoşullar

OpenGL bir grafik API olduğundan ve kendi başına bir platform olmadığından, çalışması için bir programlama dili gerektirir ve bu eğitsellerde tercih edeceğimiz dil C++' dır. Bu nedenle bu dersler için C++ programlama dilinin iyi bilinmesi gerekir. Bununla birlikte, kullanılan ileri düzey C++ konuları da dahil olmak üzere, kavramların çoğunu açıklamaya çalışacağım. Bu yüzden C++ 'da bir uzman olmanız gerekmiyor, ancak bir "Merhaba Dünya" programından daha fazlasını yazabilmelisiniz. C++ ile ilgili fazla tecrübeniz yoksa, www.learncpp.com adresindeki dersleri önerebilirim.

Ayrıca, bir miktar matematik (doğrusal cebir, geometri ve trigonometri) kullanacağız ve gerekli olan matematiğin gerekli tüm kavramlarını açıklamaya çalışacağım. Ancak, bir matematikçi değilim ve bu yüzden açıklamalarımın anlaşılması kolay olsa da, büyük olasılıkla eksik kalacaktır. Bu nedenle gerektiğinde materyali daha eksiksiz bir şekilde açıklayan iyi kaynaklara referanslar sunacağım. OpenGL' e yolculuğunuza başlamadan önce gerekli olan matematiksel bilgilerden korkmayın. Hemen hemen tüm kavramlar temel bir matematik alt yapısı ile anlaşılabilir olacaktır, ayrıca matematiği mümkün olan en düşük seviyede tutmaya çalışacağım. Göreceğiniz çoğu konu, nasıl kullanılacağını bildiğiniz sürece içinde bulundurduğu matematiğin tümünü anlamanızı gerektirmez.

Yapı

LearnOpenGL bir dizi genel kısımlara bölünmüştür. Her kısım, farklı kavramları ayrıntılı olarak açıklayan birkaç bölüm içerir. Konuların her biri soldaki menüde bulunabilir. Konular, arka plandaki teori ve pratik yönlerinin açıklandığı doğrusal bir şekilde(bu nedenle, aksi belirtilmedikçe, yukarıdan aşağıya doğru ilerlemenizi öneririm) öğretilir.

Eğitsellerin takibini kolaylaştırmak ve onlara bir yapı kazandırmak için kutular, kod blokları, renk ipuçları ve işlev referanslarından yararlanılmıştır.

Kutular

Yeşil kutular, OpenGL veya eldeki konu hakkında bazı notları veya faydalı özellikleri/ipuçlarını içerir.

Kırmızı kutular, dikkatli olmanız gereken uyarıları veya diğer özellikleri içerir.

Kod

Aşağıda gördüğünüz gibi, sözdizimi ile vurgulanmış kod içeren gri kutularda yer alan web sitesinde bol miktarda küçük kod parçaları bulacaksınız:

// Bu kutu kod içermektedir.

Bunlar yalnızca kod parçacıklarını sağladığından, gerektiğinde belirli bir konu için gereken tüm kaynak koduna bir link vereceğim.

Renk İpuçları

Bazı kelimeler, bu kelimelerin özel bir anlam ifade ettiğini açıklığa kavuşturmak için farklı renklerle görüntülenir:

: Yeşil kelimeler bir tanımı, yani sık sık duyabileceğiniz bir şeyin önemli bir yönünü ya da ismini belirtir.

: Kırmızı kelimeler, fonksiyon isimlerini veya sınıf isimlerini belirtir.

Deg˘is\ckenler\blue{Değişkenler} : Mavi kelimeler tüm değişkenler için kullanılır (OpenGL sabitleri de dahil).

OpenGL Fonksiyon Referansları

LearnOpenGL' in bilhassa takdir edilen bir özelliği, OpenGL işlevlerinin çoğunu, eğitsellerde göründüğü yerlerde gözden geçirme kabiliyetinizdir. Bu web sitesinde belgelenen içeriklerde bir OpenGL fonksiyonuna rastlandığında, fonksiyon biraz belirgin bir alt çizgi ile gösterilir. Fareyi fonksiyonun üzerine getirdiğinizde bir pencere açılır ve işlevin gerçekte ne yaptığına dair güzel bir genel bakış içeren ilgili bilgileri gösterir. Görmek için, farenizi hareket halindeyken glEnable üzerine getirin.

Çevirmen Notu: Yukarıdaki paragrafta bahsedilen "fonksiyon üzerine fare ile gelindiğinde açıklama çıkması" özelliği, çeviriler dahilinde henüz sağlanabilmiş bir özellik değildir. Lütfen bu özelliklerden yararlanabilmek için bir yandan orijinal eğitsel serisini de inceleyiniz.

Artık sitenin yapısı hakkında biraz fikir sahibi olduğunuza göre, Başlarken bölümüne geçebilirsiniz.

Orijinal Kaynak : Introduction

Çeviri: Nezihe Sözen

Last updated