0
En dessinant une ligne 2d, comment ajouter un effet de lueur?directx11 ajouter lueur à DrawLine 2d
auto renderer::draw_line(point<float> const& start_point, point<float> const& end_point, float const stroke_width, color const& stroke_color) -> void {
brush->SetColor(D2D1::ColorF(stroke_color.r, stroke_color.g, stroke_color.b, stroke_color.a));
device_context_d2d1->DrawLine(
D2D1::Point2F(start_point.x + offsetX, start_point.y + offsetY),
D2D1::Point2F(end_point.x + offsetX, end_point.y + offsetY),
brush.get(), stroke_width
);
}
Je pense qu'il a quelque chose todo avec cette fonction
ID2D1Effect* shadowEffect;
device_context_d2d1->CreateEffect(CLSID_D2D1Shadow, &shadowEffect);
pas 100% sûr de la façon dont vous voulez dire. wouldnt que brouiller juste ma ligne et rien de plus? – vusuzireru
Oui, mais c'est généralement comme cela que fonctionnent tous ces effets de lueur, prenez une partie «brillante» de l'image (ligne dans ce cas), brouillez-la et dessinez sur l'image originale (peut-être avec une luminosité ajustée). Si vous transformez la couleur de l'image floue en noir et que vous dessinez l'image originale sur celle-ci, vous obtiendrez un effet d'ombre. – VTT
Merci pour l'info, je suis un peu confus sur la façon d'appliquer le flou à la ligne parce que SetInput prend une image? aussi comment est-ce que je flouterais juste un côté est là une sorte de fonction de région dans directx11? – vusuzireru