Изменить цвет 3D-объекта в Android с помощью OpenGL ES 2.0 - PullRequest
0 голосов
/ 26 сентября 2018

Я загрузил 3D-объект в приложение для Android, используя OpenGL ES 2.0.как демонстрация OpenGL ES 2.0

Теперь мне нужно изменить цвет загруженного объекта во время выполнения при нажатии кнопки.

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 27 сентября 2018

Вопрос слишком широкий.

Для начала, в OpenglES 2.0 не существует такого понятия, как «цвет трехмерного объекта».Любой «цвет» - это часть конвейера рендеринга, используемого в конкретном приложении, это либо свойство шейдера, либо аргумент шейдера, используемый в одном или нескольких шагах рендеринга для получения окончательного изображения групп полигонов.Поэтому мы не можем знать, какие шаги необходимы для изменения внешнего вида полигонов, отображаемых в вашем приложении.

Следующая широкая вещь - это загрузка 3D-моделей.Существует множество форматов, каждый из которых имеет разные возможности.Одна модель может быть представлена ​​в нескольких подсетях с разными материалами, включая разные шейдеры и даже форматы вершин.Этот пример, на который вы ссылаетесь, может загружать форматы "Wavefront OBJ" и "Collada".Это, вероятно, крайности диапазона возможных форматов 3D-моделей.Collada может создавать огромное разнообразие форматов вершин и атрибутов материалов, применяемых к геометрии, поэтому просто нет прямого ответа на вопрос «как изменить цвет объекта».

В примере, который вы используете, могут быть простые измененияМы использовали, чтобы сделать все полисы одинаковыми, но это потребовало бы значительной работы с имеющимися у вас материалами, и это выходит за рамки формата обсуждения «вопрос-ответ».

...