**DrakePhoenix wrote:** Why is the second parameter for the tex2D function merely 0.5? I thought it required a full texture coordinate, which would be a float2, not a single float value. Does the system assume a coordinate of (0.5, 0.5) if it only receives the one float value?

ReShade supports implicit vector casting from a smaller size vector (in this case a single component one, a scalar) to a bigger size vector (in this case a two component one). It will automatically expand the last value in the vector to the remaining components of the bigger size vector. This means:

float3 val3 = 5; // val3 == float3(5, 5, 5)
float4 val4 = float2(1, 2); // val4 == float4(1, 2, 2, 2)

So "tex2D(..., 0.5)" is equivalent to "tex2D(..., float2(0.5, 0.5))" and "tex2D(..., 0.5.xx)".