What does the first interpolation do in this case? The second and third ones interpolate to give an averaged x value and an averaged y value, but does the first interpolation just give distance from the sample to each point?
briana-jin-zhang
I think you are misunderstanding something. You assume you know s and t since you should know what point you're trying to sample for.
Interpolation is first defined in 1d, which is what i'm assuming you're saying is the "first interpolation". It's basically a weighted average. In this case, the closer you are to a point, the more weight it has.
For example, u0 gets a weighted average of the values at u00 and u10. The weight is based on the closer a point is. When you say the "second and third ones" I'm assuming you're referring to the calculation of u0 and u1. They don't give an averaged x value or averaged y value, but rather a different texture for those points.
selinafeng
Would it be the same to first interpolate vertically, ie. u0=lerp(s,u00,u01 and u1=lerp(s,u10,u11) and then interpolate horizontally? Or is there some reason why we have to interpolate horizontally then vertically?
mie-h
thanks briana-jin-zhang!
nsuppala
@selinafeng I believe you should be able to do it either way!
eugenelee24
What is the point of bilinear filtering if we start with the red dot and then we do the linear interpolations to end up at the red dot again?
XTLiuuu
[deleted]
XTLiuuu
This method makes sense to me because the final result is the average from all four samples. The effect of it on the image will also render more realistic colors.
What does the first interpolation do in this case? The second and third ones interpolate to give an averaged x value and an averaged y value, but does the first interpolation just give distance from the sample to each point?
I think you are misunderstanding something. You assume you know s and t since you should know what point you're trying to sample for.
Interpolation is first defined in 1d, which is what i'm assuming you're saying is the "first interpolation". It's basically a weighted average. In this case, the closer you are to a point, the more weight it has.
For example, u0 gets a weighted average of the values at u00 and u10. The weight is based on the closer a point is. When you say the "second and third ones" I'm assuming you're referring to the calculation of u0 and u1. They don't give an averaged x value or averaged y value, but rather a different texture for those points.
Would it be the same to first interpolate vertically, ie. u0=lerp(s,u00,u01 and u1=lerp(s,u10,u11) and then interpolate horizontally? Or is there some reason why we have to interpolate horizontally then vertically?
thanks briana-jin-zhang!
@selinafeng I believe you should be able to do it either way!
What is the point of bilinear filtering if we start with the red dot and then we do the linear interpolations to end up at the red dot again?
[deleted]
This method makes sense to me because the final result is the average from all four samples. The effect of it on the image will also render more realistic colors.