Не совсем понятно, какой алгоритм будет использовать стандартная библиотека текстурирования, и, вероятно, это не является истинной проекцией, поэтому, если важна точность, вам нужно сделать это самостоятельно (или исследовать, какие конкретные алгоритмы используются для данной библиотеки).
Основной алгоритм прост. В основном вам просто нужно найти, где линия, выходящая из вашей точки проекции, пересекает вашу поверхность. Более подробно:
- Определитесь с точкой проекции
- Выберите ряд линий, исходящих из вашей точки проекции, которые дадут вам необходимое разрешение на искривленной поверхности
- Определите, где эти линии пересекают вашу поверхность (точный метод будет зависеть от вашего представления поверхности)
- Предположим, что ваше плоское изображение находится где-то между точкой проекции и искривленной поверхностью, найдите пересечение линии с плоской поверхностью и присвойте это значение местоположению на искривленной поверхности.
С другой стороны, если ваша поверхность описана математически, для этого может быть простое уравнение, как, например, если вы отображали плоскость на сферу.