Site Kordinatları – Analizi Yaptırma Fiyatları – Yazılım Analizi Örnekleri – Ücretli Analizi Yaptırma – Ücretli Yazılım Yaptırma
Site Kordinatları
Doku eşleme için, her köşe için doku koordinatlarını belirtmemiz gerekir. Bu örnekte köşe yapımızı beş alanla tanımlıyoruz. İlk üç alan köşe konumu, doku koordinatları ve normal için kullanılır. Son iki alan tepe teğet vektörü ve ikili normal vektör için kullanılır. Bu iki alan, kabartma eşleme örneğinde kullanılır. Bu iki alanı bump mapping bölümünde açıklayacağız.
Ardından bir D3D10_INPUT_ELEMENT_DESC dizisi oluşturarak giriş düzenini tanımlarız. Dizinin içinde, her öğe bir köşe özelliğine karşılık gelir. İlk eleman köşe konumu içindir; ikincisi köşe doku koordinatları içindir; ve üçüncüsü köşe normali içindir.
İkinci öğe için, D3D10_INPUT_ELEMENT_DESC yapısındaki AlignedByteOffset alanına 12 atarız, çünkü ilk öğe olan köşe konumu, üç kayan noktalı sayı için 12 bayt alır.
Üçüncü öğe için, D3D10_INPUT_ELEMENT_DESC yapısındaki AlignedByteOffset alanına 20 değerini ayarladık çünkü ilk öğe, köşe konumu ve ikinci öğe, doku koordinatları, beş kayan noktalı sayı için 20 bayt alıyor. Benzer şekilde, dördüncü ve beşinci öğeler için uzaklık 32 ve 48’dir. Aşağıda, giriş düzenini oluşturmak ve onu grafik boru hattına bağlamak için kullanılan kod bulunmaktadır.
Render-to-texture İşlevi
Çalışma zamanında, render-to-texture’ı etkinleştirmek veya devre dışı bırakmak için klavyedeki “R” tuşuna basabiliriz. Varsayılan olarak örnek, dokuya dönüştürmeyi devre dışı bırakır. Aşağıdaki kod, normal doku eşlemenin yanı sıra dokuya işlemeyi gösterir.
g_renderToTexture değişkeni doğru olduğunda, g_pD3D10TextureRenderTargetView ve g_pD3D10TextureDepthStencilView kullanmak için OMSetRenderTargets()’ı çağırırız. Ardından, sahneyi oluşturma hedef dokusuna dönüştürmek için DrawIndexed() yöntemini çağırırız.
İşleme tamamlandıktan sonra, g_pD3D10RenderTargetView ve g_pD3D10DepthStencilView’e geri dönmek için OMSetRenderTargets()’ı tekrar çağırıyoruz.
Bu durumda, varsayılan ahşap dokusu yerine g_pTextureRenderTargetSRV işlenmiş dokusunu kullanmak için g_pMainTexVariable öğesini değiştiririz. Ardından, sahneyi küp üzerine uygulanmış işlenmiş doku ile işlemek için DrawIndexed() yöntemini çağırırız. Son efekt, küpün tüm yüzlerine işlenen tüm sahnedir.
g_renderToTexture değişkeni yanlış olduğunda, g_pD3D10RenderTargetView ve g_pD3D10DepthStencilView’ü kullanmak için OMSetRenderTargets()’ı çağırırız. Ardından, varsayılan dokuları kullanarak sahneyi ekrana işlemek için DrawIndexed() yöntemini çağırırız.
Gölgelendiricilerde Doku Eşleme
Şimdi Example03.fx dosyasını açıklıyoruz. Yine global değişkenleri tanımlayarak başlıyoruz. Yeni değişken türleri, Texture2D ve SamplerState’tir.
Direct3D 10’da dokular ve örnekleyiciler bağımsız nesnelerdir. Her doku nesnesi, bir örnekleyiciyi giriş parametresi olarak alan doku örnekleme yöntemlerini uygular. Örnekleyici, gölgelendiricilere sağlanan dokuyu nasıl örnekleyeceğini söyler. Bu örnekte doğrusal bir filtre kullanıyoruz.
Vertex shader ve pixel shader için giriş yapıları önceki örneklerden farklıdır. VS_INPUT yapısının üç öğesi vardır: köşe konumu, doku koordinatları ve normal. PS_INPUT yapısı dört öğeye sahiptir: piksel konumu, piksel doku koordinatları, piksel yüzey normali ve enterpolasyonlu köşe dünya alanı koordinatlarıdır.
Vertex shader’da, Direct3D ardışık düzen işlemesi için köşe konumunu dönüştürüyoruz. Dönüştürülen tepe noktası konumunu, doku koordinatlarını ve dünya alanı tepe konumu ve normalini piksel gölgelendiriciye iletiyoruz. Ayrıca küpü, köşeleri geçerli çerçeve süresine göre ölçeklendirerek canlandırıyoruz.
Piksel gölgelendiricide, g_textureMappingMode global değişkeninin değerine bağlı olarak farklı doku eşleme teknikleri uyguluyoruz.
Basit Doku Eşleme
Basit doku eşlemede, kübe tek bir doku uyguluyoruz. Piksel rengi, doku nesnesi Sample() işlevi tarafından belirlenir. Sample() işlevi, bir örnekleyiciyi ve doku koordinatlarını giriş parametreleri olarak alır ve bir renk döndürür.
Hazır site
Google Sites
Web site Kurma
Google site kurma
Telefondan site kurma
Google web sitesi
Wix site
Google site kurma Bedava
Çoklu Doku Eşleme
Piksel gölgelendiricideki çoklu doku eşleme oldukça basittir. Farklı doku nesnelerinin Sample() işlevinden döndürülen renkleri son piksel rengi olarak toplarız. Bu durumda, ana ahşap dokusundan dönen renkleri ve bir metin dokusunu ekledik. Son etki, metni ahşap doku üzerine çizmektir.
Doku ve Aydınlatma
Aydınlatma ve doku eşlemeyi birleştirmek için, geçerli piksel konumundaki doku renklerini hesaplanan açık renklerle çarparız. Piksel gölgelendiricide speküler ile yönlü bir ışık uyguluyoruz.
Doku Animasyonu
Animasyon efektleri oluşturmak için piksel gölgelendiriciyi de kullanabiliriz. Bu bölümde, salınımlı bir etki elde etmek için doku koordinatlarını zamanla değişen bir tarzda bozan bir gölgelendiriciye bakıyoruz. Jelatinimsi bir yüzeyi veya “dans eden” bir logoyu simüle etmek için animasyonlu bir efekt üretebiliriz.
Efekt fikri, doku örnekleme işleminden önce doku koordinatlarını bozmak için piksel gölgelendiricide bir sinüs işlevi kullanmaktır. Pertürbasyonun miktarı ve sıklığı, uygulamadan gönderilen global değişkenler aracılığıyla kontrol edilebilir. Örnekte, piksel gölgelendiricide yerleşik bir sabit ve frekans kullanıyoruz. Efekti uygulayan kod aşağıda listelenmiştir.
Işık Haritalama
Işık haritası, ışık kaynaklarının etkisini simüle etmek için bir doku haritasıdır. Aynasal vurgular gibi, sahnedeki nesnelerin aşırı mozaiklenmesine başvurmadan yerel ışık kaynaklarının görünümünü iyileştirmek için kullanılabilir.
Bir ışık haritası kullanmak için, ışığın nesne üzerindeki etkisini simüle eden bir doku oluşturulur ve ardından sahnedeki bir veya daha fazla nesneye uygulanır. Uygun doku koordinatları oluşturulur ve ışığı konumlandırmak ve hareketli veya değişen ışık efektleri oluşturmak için doku dönüşümleri kullanılabilir.
Örneğimizde, iki yerel ışıkla bir ışık haritası oluşturuyoruz. Işık haritası için doku nesnesi g_texLight’tır. Yerel ışıkların etkilerini simüle etmek için ışık haritasını geometri yüzeylerinin rengiyle modüle ediyoruz.
Tümsek Eşleme
Tümsek eşleme, aydınlatma uygulanmadan önce doku olarak kaydedilen tümsek haritasındaki yüzey normallerini normallerle değiştirir. Tümsek haritalamayı elde etmek için, çarpma etkisini hesaplamak için bir yüzey normaline, bir ışık kaynağına, bir görüntüleme yönü vektörüne ve tümsek haritası normaline ihtiyacımız var.
Çarpma haritasındaki normal değerler, bozulmamış yüzey normalinin her noktada (0, 0, 1) olduğu ve yüzeydeki karşılık gelen noktanın (0, 0, 0) olduğu teğet uzaydadır. Teğet uzayda aydınlatmayı hesaplamak için, ışık yönünü ve görüş yönünü teğet uzaya dönüştürüyoruz. Uygulamadan gölgelendiriciye tanjant ve binormal olmak üzere iki vektör gönderiyoruz.
Bir teğet vektör, işlenmekte olan yüzeyin noktasında teğet düzlemindedir ve yüzeyin noktasında normale diktir. Bir binormal vektör hem normale hem de teğet vektöre diktir. Işık yönünü ve görüş yönünü teğet uzaya dönüştürmek için bir dönüşüm matrisi oluşturmak üzere yüzey normali, teğet vektör ve binormal vektörü kullanıyoruz.
Google site kurma Google site kurma Bedava Google Sites Google web sitesi Hazır site Telefondan site kurma Web site Kurma Wix site