6.4.3立方体贴图反射

关键步骤在于

在vs上
    //每个顶点上入射向量,是从观察位置指向顶点,不是由顶点指向观察位置
    Output.ReflectInVertex = PositionInWorld.xyz - g_ViewPosition.xyz;

在ps上

    //计算每个顶点上指向观察位置的反射向量,此向量指向立方体贴图,实际上作为纹理坐标
    float3 vReflect = reflect(In.ReflectInVertex, In.Normal);
    float4 vColor = texCUBE(MeshCubSampler, vReflect.xyz );
    return float4(vColor.xyz, 1.0 );

发布了673 篇原创文章 · 获赞 18 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/directx3d_beginner/article/details/103919636