Отображение текстур на сферу OpenGL ES - PullRequest
2 голосов
/ 27 сентября 2010

Да, я только начинаю изучать OpenGL ES, и, если честно, это очень сложно.

Просто нужно небольшое руководство, чтобы указать мне правильное направление для моего текущего испытания.

У меня есть некоторый код, который создает трехмерную сферу, на которую наложена текстура (глобус).

Я могу получить координаты касания на сфере, и у меня есть ручка для этого, номой вопрос: как мне добавить еще одну текстуру к этой сфере?

Я хочу иметь возможность коснуться земного шара, а затем "выделить" определенные области, поэтому у меня есть "Выделить изображение", которое я затем хочу отобразитьэто изображение на земном шаре на ощупь.

Это изображение будет обтекать сферу в точке касания.

Правильно ли я думаю, что это случай добавления другой текстуры к уже текстурированнойсфера?Каков будет правильный подход к этому?

Нужно ли мне просто создать 2D-текстуру для отображения или мне нужна 3D-текстура (есть ли такая вещь?)

Нужно ли мнеВам нужно перерисовать всю сферу?

Все это очень запутанно, и некоторые общие указатели будут высоко оценены.

Большое спасибо заранее!

1 Ответ

0 голосов
/ 17 декабря 2010

Если у вас есть выделенное изображение, которое вы хотите применить к точке, к которой вы прикоснулись, то, короче говоря, вы можете сначала применить выделенное изображение к базовой текстуре (просто визуализируя одно поверх другого в отдельном рендерингепройти), а затем использовать составное изображение в качестве текстуры.

Что нужно учитывать:

  • Координаты текстуры не зависят от координат вашей геометрии, поэтому, если вы этого еще не сделали, вам следует составить карту между точкой касания и точкой (пара координат) на текстуре
  • Чтобы подсветка обернулась по краю, необходимо установить соответствующий параметр текстуры - в этом случае GL_REPEAT должно работать

Что касаетсядругие ваши вопросы, да, в OpenGL есть 3D текстуры;однако я не считаю их относящимися к вашей задаче.

...