Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 18 окт 2017, 14:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Урок 174. OpenGL. Модель
СообщениеДобавлено: 16 фев 2016, 06:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1348
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.

В этом уроке:


- перемещаем отдельный объект




Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 06 июн 2017, 23:10, всего редактировалось 6 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 16 фев 2016, 17:54 

Зарегистрирован: 15 фев 2016, 12:15
Сообщений: 3
Откуда: Kiev
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Спасибо большое! Радует, что статьи появляются как раз по мере моего освоения openGL =)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 16 фев 2016, 20:31 

Зарегистрирован: 10 окт 2015, 17:07
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 4 раз.
Отличный урок, вот этого материала как раз не хватает. Когда сам разбирался пришлось долго методом тыка осваивать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 20 фев 2016, 15:17 

Зарегистрирован: 25 янв 2015, 18:57
Сообщений: 37
Благодарил (а): 9 раз.
Поблагодарили: 2 раз.
Спасибо за отличный урок!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 21 фев 2016, 14:14 

Зарегистрирован: 21 фев 2016, 14:11
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте, как перемещать одну из вершин объекта, а не объект полностью?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 21 фев 2016, 18:46 

Зарегистрирован: 10 окт 2015, 17:07
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 4 раз.
potykion писал(а):
Здравствуйте, как перемещать одну из вершин объекта, а не объект полностью?

так стараются не делать, потому что это достаточно дорогостоящая операция.
Вам придется по новой сформировать буферы вершин.
А обычно трансформации делают над всем объектом.

Можно конечно выкрутиться на на уровне шейдера еще попоробовать сделать.
С помощью дополнительного массива данных для каждой вершины.
Например у нас есть 4 вершины квадрата,
для каждой вершины мы задаем дополнительный массив
из 0 или 1 для каждой вершины, в зависимости от того хотим мы ее трансформировать или нет.
attribute float aNeedTransform;
vec4 displacement= vec4(1.0,1.0,1.0,1.0);
и в вершинном шейдере сместить нужные вершины. (при умножении на 1 - будет смещение, при умножении на 0 соостветственно не будет)
gl_Position = mvp * (aPosition+aNeedTransform*displacement);


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 22 фев 2016, 02:13 

Зарегистрирован: 21 фев 2016, 14:11
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Draz1w писал(а):
так стараются не делать, потому что это достаточно дорогостоящая операция.

А во всяких 3D-редакторах модели разве не так делаются?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 22 фев 2016, 08:29 

Зарегистрирован: 10 окт 2015, 17:07
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 4 раз.
potykion писал(а):
Draz1w писал(а):
так стараются не делать, потому что это достаточно дорогостоящая операция.

А во всяких 3D-редакторах модели разве не так делаются?

в 3d редакторе делаешь модель как тебе нужно потом ее экспортируешь всю.
Вот какую сделал, такая и будет у тебя в движке. Потом над ней трансформации делаешь, scale, rotate, translate.
отдельно повершинно не трансформируют.

А анимацию персонажей например делают двумя способами:
1 - покадровая ( как спрайты, но только моделями). Т.е. делают 10 разных моделей для разных положений персонажа и просто ее меняют. Минус способа - затраты памяти (нужно 10 моделей вместо одной хранить).
2 - скелетная. В 3Д редакторе делают у модели так называемые кости - скелет и выгружают в свой движок, и используют специальный шейдер вершинный, которые трансформирует модель в шейдере в соостветствии с параметрами костей. Минус способа - очень затратные вычисления.

Обычно в мобильных играх используют покадровую анимацию, потому что в мобилках памяти достаточно много, а вычислительные ресурсы ограничены.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 174. OpenGL. Модель
СообщениеДобавлено: 27 фев 2017, 04:46 

Зарегистрирован: 18 фев 2017, 04:02
Сообщений: 3
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
зачем каждый раз делать процессором multiplyMM трех матриц?
Как можно передать все матрицы (projection view model) отдельно (без multiplyMM) в шейдер что бы там их складывать?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB