Aracılığıyla paylaş


Uzak-difüz aydınlatma efekti

Işık kaynağının uzun bir mesafeden geliyor gibi göründüğü (güneş veya tepe lambaları gibi) ve ışığın her yöne dağılmış olduğu yansıtıcı olmayan bir yüzey gibi görünen bir görüntü oluşturmak için uzak-dağınık aydınlatma efektini kullanın. Bu efekt alfa kanalını yükseklik haritası olarak kullanır ve görüntüyü uzak bir ışık kaynağıyla aydınlatabilir.

Çıktı bit eşleminin rengi, açık renk, açık konum ve görüntünün yüzey geometrisinin sonucudur. Dağınık aydınlatmalı her piksel için alfa kanalı çıkışı her zaman 1,0'dır.

Bu etki için CLSID, CLSID_D2D1DistantDiffuse.

Örnek resim

Buradaki örnekte uzak-dağınık aydınlatma efektinin giriş ve çıkış görüntüleri gösterilmektedir.

efekt örneği, uzak yayma aydınlatma efektinin giriş ve çıkış görüntülerinin ekran görüntüsü.

Efekt özellikleri

Görünen ad ve indeks numaralandırması Açıklama
Azimut
D2D1_DISTANTDIFFUSE_PROP_AZIMUTH
XY düzlemindeki ışık kaynağının, karşı saat yönündeki X eksenine göre yön açısı. Birimler derece cinsindendir ve 0 ile 360 derece arasında olmalıdır.
Tür FLOAT'dır.
Varsayılan değer 0,0f'dir.
Yükseklik
D2D1_UZAKDİFÜZ_PROP_YÜKSELTİ
YZ düzlemindeki ışık kaynağının, karşı saat yönündeki Y eksenine göre yön açısı. Birimler derece cinsindendir ve 0 ile 360 derece arasında olmalıdır.
Tür FLOAT'dır.
Varsayılan değer 0,0f'dir.
DiffuseConstant
D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT
Yayma yansımasının gelen ışık miktarına oranı. Bu özellik 0 ile 10.000 arasında olmalıdır ve birimsizdir.
Tür FLOAT'dır.
Varsayılan değer 1,0f'dir.
SurfaceScale
D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE
Z yönündeki ölçek faktörü. Yüzey ölçeği birimsizdir ve 0 ile 10.000 arasında olmalıdır.
Tür FLOAT'dır.
Varsayılan değer 1,0f'dir.
Renk
D2D1_DISTANTDIFFUSE_PROP_COLOR
Gelen ışığın rengi. Bu özellik bir D2D1_VECTOR_3F (R, G, B) olarak kullanıma sunulur ve LR, LG, LBhesaplamak için kullanılır.
Türü D2D1_VECTOR_3F.
Varsayılan değer: {1.0f, 1.0f, 1.0f}.
KernelUnitLength
D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH
X ve Y yönünde normal yüzey oluşturmak için kullanılan Sobel çekirdeğindeki bir öğenin boyutu. Bu özellik, Sobel gradyanındaki dx ve dy değerlerine karşılık gelir. Bu özellik bir D2D1_VECTOR_2F (Çekirdek Birimi Uzunluğu X, Çekirdek Birimi Uzunluğu Y) ve (cihazdan bağımsız pikseller (DIPs)/Çekirdek Birimi) içinde tanımlanır. Etkisi, bit eşlemi çekirdek öğelerinin boyutuyla eşleşecek şekilde ölçeklendirmek için bilinear ilişkilendirme kullanır.
Türü D2D1_VECTOR_2F.
Varsayılan değer: {1.0f, 1.0f}.
Ölçek Modu
D2D1_AYDINLIKDAĞILIMI_ÖLÇEK_MODU
Efektin görüntüyü ilgili çekirdek birimi uzunluğuna ölçeklendirmek için kullandığı ilişkilendirme modu. Kalite ve hız olarak değişen altı ölçek modu vardır.
Türü D2D1_DISTANTDIFFUSE_SCALE_MODE.
Varsayılan değer, D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR'dir.

Ölçek modları

Sayım Açıklama
D2D1_DISTANTDIFFUSE_SCALE_MODE_NEAREST_NEIGHBOR En yakın tek noktayı örnekler ve bunu kullanır. Bu mod daha az işlem süresi kullanır, ancak en düşük kaliteli görüntüyü görüntüler.
D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR Dört noktalı örnek ve doğrusal ilişkilendirme kullanır. Bu mod, en yakın komşuya göre daha yüksek kaliteli bir görüntü oluşturur.
D2D1_DISTANTDIFFUSE_SCALE_MODE_CUBIC İlişkilendirme için 16 örnek kübik çekirdek kullanır. Bu mod en fazla işlem süresini kullanır, ancak daha yüksek kaliteli bir görüntü oluşturur.
D2D1_DISTANTDIFFUSE_SCALE_MODE_MULTI_SAMPLE_LINEAR Tek bir piksel içinde iyi kenar yumuşatma için 4 doğrusal örnek kullanır. Bu mod, birkaç piksel içeren görüntülerde küçük miktarlarda ölçeği küçültmek için iyidir.
D2D1_DISTANTDIFFUSE_SCALE_MODE_ANISOTROPIC Bitmap'in dönüştürülmüş şekline göre bir deseni örneklemek için anizotropik filtreleme kullanır.
D2D1_DISTANTDIFFUSE_SCALE_MODE_HIGH_QUALITY_CUBIC Dönüştürme matrisinde küçültme söz konusuysa görüntüyü önceden küçültmek için değişken boyutlu yüksek kaliteli kübik bir çekirdek kullanır. Ardından son çıkış için küp ilişkilendirme modunu kullanır.

Not

Bir mod seçmezseniz efekt varsayılan olarak D2D1_DISTANTDIFFUSE_SCALE_MODE_LINEAR olur.

Gereksinimler

Gereksinim Değer
Desteklenen en düşük istemci Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Desteklenen en düşük sunucu Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları]
Üstbilgi d2d1effects.h
Kütüphane d2d1.lib, dxguid.lib

ID2D1Effect