Direct3D

Kısaca: Direct3D; DirectX teknolojisinin alt kümesini oluşturan API'sidir. Tamamıyla 3D teknolojisi üzerine geliştirilmiştir. Genelde Video Oyunu Geliştiricilerinin kullandığı bir kütüphanesi vardır. Bu; ''direct3d.h'' dır. ...devamı ☟

Direct3D; DirectX teknolojisinin alt kümesini oluşturan API'sidir. Tamamıyla 3D teknolojisi üzerine geliştirilmiştir. Genelde Video Oyunu Geliştiricilerinin kullandığı bir kütüphanesi vardır. Bu; direct3d.h dır.
Ön bilgi: İki boyutlu bir ortamı oluşturmak için iki ordinata, üç boyutlu bir ortam oluşturmak için üç ordinata ihtiyacımız var. İki boyut için ordinatlar X ve Y olup oluşan koordinat A(X,Y) ve üç boyut için ise ordinatlar X, Y, Z ordinatlarıdır, oluşan koordinat sistemi ise; B(X,Y,Z) dir.
Bildiğiniz gibi bir nokta, hangi boyutta oluşturulmuşsa o boyuta göre koordinat parametreleri oluşur. İki boyutlu bir çizim için ki örnek olarak doğru parçası oluşturmak için A ve B noktaları verelim... A noktası için X ve Y ordinatlarının parametresi olarak sırasıyla 30 ve 42 birimlerini verelim. Yani A(30,42) oluşmuş durumda. B noktası ise B(-30,-42) olsun. Evet şuanda birbirine simetrik iki nokta çizdik. Bu bu noktaların her birine VERTEX diyoruz. Yani iki boyutlu bir çizim için bağlantı noktaları... Neden bağlantı noktası dedik? Çünkü; iki nokta arasına bir doğru parçası çizeceğiz ve bize lazım olan iki noktanın parametrelerini aldık. Ve bu sayede çizim işlemini gerçeklerştirdik... Noktaların her biri bizim bağlantı noktalarımızdır. Üç boyutlu bir nesne yani küp için de aynı yöntem geçerli. Fakat küpü oluşturmak için minimum sekiz vertexe yani 8 noktaya ihtiyacımız var. Eğer üç boyut hakkında bilgilendiyseniz veya bilgileriniz güncellendiyse ilk Direct3D örneğimizi verelim... Direct3D teknolojisi primitive type (ilkel verileri) bile destekler. Örneğin programlamada, DirectX teknolojisini kullanıyorsanız ve koordinatları belli bir nokta kümesi verdiyseniz, yani örneğin; *nokta1 için x=14, y=16, z=42; (bu; üç boyutlu üçgen çizimi için verilen birinci vertex; yani bağlantı noktası) *nokta2 için x=21, y=72, z=15; (bu; üç boyutlu üçgen çizimi için verilen ikinci vertex; yani bağlantı noktası) *nokta3 için x=12, y=15, z=12; (bu; üç boyutlu üçgen çizimi için verilen üçüncü vertex; yani bağlantı noktası) koordinatlarını verip DirectX'in bize bu noktaları bir üçgen oluşturacak şeklinde deklare ettiysek, koordinatları verilen noktalar birbirleriyle birleştirilir ve uzayda üçboyutlu bir üçgen çizilir. Bunun yanında Direct3D; Video Oyunu Geliştiricileri için; çeşitli üç boyutlu hesaplamaları üstlenir. *Mesela; bir video oyunu geliştiricisi olan X firması, geliştirdiği video oyununda kullanmak üzere üç boyutlu grafikler tasarladı. Tasarlanan en küçük yapıdaki üç boyutlu grafik, yaklaşık 720 vertex yani bağlantı noktası içermekte. Varsayım olarak bu üç boyutlu grafik bir insan vücudu. Gövde kısmında 170 kadar, kol kısımlarında 120 kadar, bacak kısımlarında ise 200 kadar vertex var. Tanımlanmış diğer vertexler de grafiğin baş kısmını oluştursun... Eğer bu şirket oluşturulan grafikleri bir video oyununda kullancaksa, karakterin doğal olarak hareket etmesini de isteyecektir. *Örneğin bazı oyunlarda olduğu gibi oluşturduğu karakterin bir arabaya binmesini, konuşabilmesini kısaca gerçek hayattaki bir insan gibi hareket etmesini ister. Yani bir vazo gibi katı durmamasını, her uzvunun (ellerinin, kollarının, bacaklarının) değişik şekillerde hareket etmelerini arzu eder. Bunu için bu üç boyulu grafiği oluşturan vertexler yani bağlantı noktalar hareket esnasında koordinatlarını değiştirirler. *Yani yüzlerce vertex içinden bir tanesini ele alırsak; vertex(140, 270, 660) ise ele aldığımız vertex, koordinatları üç boyutlu grafiğin hareket esnasında koordinatlarını değiştirecek ve belkide yeni vertex; vertex(220, 290, 550) olacak. *Şimdi; üç boyutlu bir grafiği oluşturan binlerce vertex, nasıl koordinatlarını değiştirir? Veya hangi işlemlerden sonra koordinatlarını değiştir sorusu için; çeşitli nesne taşıma formülleri, vektörler, matrisler işin içine giriyor dersek bu konu için yeterli olur çünkü bu konuda direct3d üzerinde duruyoruz. *3D nesnelerin hareket etmesi için kullanılan hesaplamalar ve formüller konu dahilinde değil... *Bunca anlatımdan sonra Direct3D için şunu da belirtmenin zamanı geldi... İşte Direct3D; Video oyunu geliştiricileri için bu türlü ilkel veri tipleri ile uğraşmak zorunda kalmamalarını sağlar. *Aslında Direct3D konusu buraya kadar da değil, bunca süredir anlattığımız üç boyutlu nesnelerin hareketlerinin sağlanmasından tutun da, Işık ve yansıma gibi olayların da üretimini sağlamasıdır. *Yani sadece 3D hesaplamaları için değil; ışık ve bu gibi fiziksel hesaplamalarını da kendisi yapar. Tabii tahmin edersiniz ki, gereken argümanların verilmesi ile...

Kaynaklar

Vikipedi

Direct3D

Windows işletim sistemleri için geçerli olan bu uygulama arabirimi (API), Microsoft [[DirectX]] paketinin bir parçasıdır.

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.

Directx
3 yıl önce

DirectX 12'dir. İçerdiği bileşenlerden bazıları şu şekilde özetlenebilir: Direct3D (veya bir diğer adıyla WGF: Windows Graphics Foundations - Windows Grafik...

DirectX, .NET, Bluetooth, Cadega, DOS, DirectPlay, DirectPlay Voice, DirectX Managed, Fare, HawkNL, Klavye
Unreal Engine
3 yıl önce

geliştirilmiş Glide uygulama programlama arayüzü kullanan ve daha sonra OpenGL ve Direct3D için de güncellenen bir donanımsal hızlandırıcılı tarama yolu sunuyordu...

Unity (oyun motoru)
7 yıl önce

aşağıdaki grafik API'lerini hedeflemektedir: Windows ve Xbox One üzerinde Direct3D; Linux, macOS ve Windows'ta OpenGL; Android ve iOS'ta OpenGL ES; Web'de...

Internet Explorer
3 yıl önce

DirectWrite sayesinde metin öğeleri daha düzgün görüntüleniyor. Direct2D ve Direct3D sayesinde 2 ve 3 boyutlu görüntüler ve genel sayfa görünümü daha kaliteli...

Internet Explorer, 1995, ABD, ActiveX, Apple Safari, Avrupa Birliği, Ağ tarayıcı, CSS, HTTP, Java programlama dili, Latince deyişler
Game Maker
3 yıl önce

ve 5 için gmd, sürüm 6 için gm6, sürüm 7 ve 8 için gmk'dır. Game Maker Direct3D kullanır ve sınırlı da olsa 3 boyutlu grafik ve modellere destek verir...

Game Maker, Betik, Delphi programlama dili, DirectX, Ekran kartı, Microsoft, Microsoft Windows, MySQL, Pentium, Windows 2000, Windows 98
Windows Vista
3 yıl önce

Grafikleri çalışma zamanı (Windows Graphics runtime): Direct2D, DirectWrite, Direct3D 11, DXGI 1.1 ve WARP; Windows Imaging Component (Windows Görüntüleme Bileşeni)...

Windows Vista, Windows 95, Windows 3.x, Windows 98, Windows Me, Windows NT 3.1, Windows NT, Windows 3.0, Windows 2.0, Microsoft Windows'un Tarihi, MS-DOS
Linux
3 yıl önce

^ https://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D ^ http://store.steampowered.com/news/9943/?l=turkish ^ https://www.pcgamesn...

Linux, CentOS, Linux dağıtımları, Debian, Fedora Core, LFS, Kubuntu, Knoppix, Gentoo, GNU, Mandriva
Mac OS X Snow Leopard
7 yıl önce

standarttır; o Khronos Group tarafından korunur. Bu, CUDA ve Microsoft Direct3D 11 işlem shaderi için Nvidia'nın C-ne benzer bir amaca hizmet verir. Sadece...