小编Dmi*_*rov的帖子

如何使用HLSL制作外发光效果?

在WPF中,Net4.0不再支持或呈现OuterGlowBitmapEffect.DropShadow有一点共同点,在我的情况下是不可接受的.我最初的目标是在AeroGlass窗口上为黑色ClearType文本制作白色模糊背景,使其在黑暗场景下更具可读性.我开始玩fx和HLSL.它非常有趣和强大,但我仍然无法接近OuterGlowBitmapEffect.

我当前的虚拟版本反映了这个想法:

sampler2D  Sampler : register(S0);
#define PI 3.14f
float4 main(float2 uv : TEXCOORD) : COLOR
{
    float4 px = tex2D(Sampler, uv);

    /*
    if (px.a > 0.9)
    {
        return px;
    }
    */

    const float d = 3;

    int cnt = 0;
    float a = 0;
    for (float x = -0.1*d; x < 0.1*d; x += 0.05*d)
    {
        a += tex2D(Sampler, uv + float2(x, 0)).a;
        a += tex2D(Sampler, uv + float2(0, x)).a;
        a += tex2D(Sampler, uv + x).a;
        cnt += 3; …
Run Code Online (Sandbox Code Playgroud)

wpf hlsl

5
推荐指数
1
解决办法
4233
查看次数

这个haskell样本能缩短吗?

这是我从YAHT练习的解决方案:

练习4.6编写一个数据类型元组,它可以包含一个,两个,三个或四个元素,具体取决于构造函数(也就是说,应该有四个构造函数,每个参数个数一个).还提供了tuple1到tuple4的函数,它们取一个元组并返回该位置中的值,如果该数字有效则返回Nothing(即,你只要求元组中的tuple4只保存两个元素).

当我写第一行时,我对C#的简单性感到兴奋


    data Tuplex a b c d = Tuple1 a | Tuple2 a b | Tuple3 a b c | Tuple4 a b c d

    -- class Tuplex<a,b,c,d> {
    --       Tuplex(a p1){ _p1 = p1; }
    --       Tuplex(a p1, b p2){ _p1 = p1; _p2 = p2; }
    --       Tuplex(a p1, b p2, c p3){ _p1 = p1; _p2 = p2; _p3 = p3; }
    --       Tuplex(a p1, b p2, c p3, d p4){ _p1 = p1; _p2 …

haskell

5
推荐指数
2
解决办法
359
查看次数

标签 统计

haskell ×1

hlsl ×1

wpf ×1