6.4.3立方体贴图反射

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 );