360 цилиндрических панорам - как отобразить их на плоскости для просмотра
Я задаю этот вопрос, потому что большинство результатов поиска в Google и Stackru, по-видимому, в основном касаются создания цилиндрических панорам, а не кода в OpenGLES 2.0 для их просмотра.
Короче говоря, у меня есть фотография, которую я снял на камеру смартфона в режиме "Панорама". В этом случае, скажем, изображение было 19168x3040 пикселей.
Я изменил библиотеку MD360Player, добавив в нее цилиндрическую проекцию (в основном форму сферической проекции, но с другой формулой компонента Y). Дело в том, что я, кажется, не правильно понял проекцию. Теперь это выглядит так:
Это после того, как я вдвое уменьшил высоту цилиндра - если я не сделаю этого, цилиндр будет соответствовать высоте квадрата, но изображение будет растянуто по вертикали.
Я слышал, что мне нужно отобразить точки в цилиндре на плоскость, чтобы получить правильную проекцию. Похоже, я должен делать то же, что делал Facebook, и иметь отдельные режимы, когда я касаюсь вида для прокрутки и когда я отпускаю палец, чтобы просмотреть сопоставленное изображение?
В таком случае, как мне отобразить видимую на данный момент часть цилиндра в плоскость, особенно область в зените и надире цилиндрической проекции?
Код для проекции цилиндра будет опубликован в случае необходимости.