Usually, textures are like photographs taken from a top-down perspective. The theoretical camera that takes the texture image is pointing downwards and perpendicular to the plane. This texture is then mapped or projected onto arbitrary objects.
What if I start with a photograph that is already taken at an angle, and use that as a texture? Imagine I am standing outside, and pointing the camera slightly downwards, and I take a picture of the grass. Now, I have a 2D plane in my program and would like to use the grass texture on the plane. If the camera in my program has the same position wrt. the plane as my real camera did wrt. the grass, then the pixels from the photo get mapped directly 1:1 to the screen, of course. But I'd like to be able to move the virtual camera around a bit.
Since the photograph of the grass is taken at an angle (and not from above), it has much more detail to the bottom (towards the viewer) than at the top (away from the viewer). I could probably transform it to a "regular" texture (square, taken from above), but I would loose the benefit that it has more details.
I couldn't find any resources on this, and I don't even know what this kind of texture is called. Pre-projected texture? Perspective texture? I'm looking for the name of this technique if it has one, and some hints to get started, like how to do it in OpenGL or Unity, but I'm not tied to a specific technology.
