Your idea was pretty good, but yeah, bilinear filter is awful for this. Don't worry about it, next time you'll make it great