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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 01 мар 2016, 07:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 12:32
Сообщений: 1319
Благодарил (а): 0 раз.
Поблагодарили: 69 раз.
В этом уроке:

- используем текстуры

Click here to read this article!

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


Последний раз редактировалось damager82 01 мар 2016, 10:00, всего редактировалось 4 раз(а).

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 04 мар 2016, 19:59 

Зарегистрирован: 04 мар 2016, 19:55
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
"В varying переменную v_Texture приходят интерполированные координаты текстуры из вершинного шейдера."

А почему не vec2, а varying?
Это опечатка?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 07 мар 2016, 21:00 

Зарегистрирован: 10 окт 2015, 18:07
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 4 раз.
Kate писал(а):
А почему не vec2, а varying?
Это опечатка?


нет не опечатка,
смотрите объявление
переменная объявлена как
varying vec2 v_Texture;

в данном контексте важнее, именно то что она varying - т.е. переменная которая передается из вершинного шейдера во фрагментный с интерполяцией значений.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 08 мар 2016, 23:16 

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 11 мар 2016, 13:57 
Аватар пользователя

Зарегистрирован: 18 дек 2015, 17:05
Сообщений: 16
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
Народ, прошу прощения за оффтопик, но у меня вопрос, на который пока не нашел толкового ответа. Как сделать промо-ролик приложения, для гуглплея ? У меня игрушка на OpenGL. Поглядел как народ выставляется на гуглплее, почти у всех есть промо-ролики. Как это делается ? Что, каждый фрейм сохраняют экран на карточку, а потом монтируют ? Просветите на этот счет у кого есть такой опыт.

А так респект. Отличные уроки. Читал до этого книжку Харди и Филипса. Здесь по сравнению с книжкой значительно меньше воды и значительно больше внимания уделено не мишуре, а действительно серьёзным и значимым темам.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 16 мар 2016, 23:36 

Зарегистрирован: 16 мар 2016, 23:32
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Приветствую!
Спасибо за уроки, познавательно.
Насколько сильно отличается OpenGL ES 1.0 (на котором написаны примеры) от OpenGL ES 2.0?
ES 1.0 достаточно старый API, было бы интересно посмотреть примеры на 2.0


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 18 мар 2016, 22:55 

Зарегистрирован: 10 окт 2015, 18:07
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 4 раз.
sergant128 писал(а):
Приветствую!
Спасибо за уроки, познавательно.
Насколько сильно отличается OpenGL ES 1.0 (на котором написаны примеры) от OpenGL ES 2.0?
ES 1.0 достаточно старый API, было бы интересно посмотреть примеры на 2.0

Здесь Уроки по ES 2.0.
1.0 от 2.0 отличаются как небо и земля. В 1.0 не было шейдеров и все программы были зашиты в спецификацию openGL. Можно было просто передавать вершины, нормали и текстуры и делать с ними какие-то фиксированные действия.
С шедерами - полная свобода, трансформируй изменяй на лету как хочешь все массивы данных, можно сделать множество разных эффектов.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 19 мар 2016, 05:54 
Аватар пользователя

Зарегистрирован: 18 дек 2015, 17:05
Сообщений: 16
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
sergant128 писал(а):
Насколько сильно отличается OpenGL ES 1.0 (на котором написаны примеры) от OpenGL ES 2.0?
ES 1.0 достаточно старый API, было бы интересно посмотреть примеры на 2.0

С OpenGL ES 1 не советую даже начинать. Эта библиотека во-первых устаревшая, сейчас Вы не найдете телефона, поддерживающего только её. Во-вторых, концептуально она гораздо сложнее OpenGL ES 2. Если в ES2 Вам необходимо изучить только шейдеры и их окружение (компиляцию, выбор, передачу через юниформы и атрибуты и т.п.), то ES1 это довольно бессистемное нагромождение разного рода инструментов, которые ещё нужно сообразить как применять. Если Вы хотите сделать что-то совсем простое, ES1 будет конечно проще. Но если хотите действительно интересный и качественный рендеринг с разного рода финтифлюшками, замучаетесь думать как это сделать. А ES2 предлагает для этого регулярный и рациональный путь - шейдеры. Единственно не увлекайтесь и помните, что особо извращенные шейдеры это тоже нагрузка на систему. Что сказывается и на фреймрейте и на времени жизни батарейки. Так что самое трудное в ES2 это умение находить компромиссы. Впрочем на более продвинутом уровне "цифрового секса" Вам тоже хватит. Использование множества текстур разного назначения, многопроходные рендеринги и т.п. Однако чтобы НАЧАТЬ и ПОНЯТЬ, усилий потребуется гораздо меньше, чем для ES1.

Если хотите глянуть более продвинутые примеры ES2 на русском языке, сходите сюда http://andmonahov.blogspot.ru/2012/10/o ... -20-1.html
Вот еще очень интересный цикл статей, мужик пишет свою упрощенную модель OpenGL (с шейдерами) на С++ https://habrahabr.ru/post/248723/ Если что-то в OpenGL не понимаете, то там всё буквально разжевано и в рот положено. Причем в исходниках на С++. Очень рекомендую.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 22 мар 2016, 11:24 

Зарегистрирован: 10 окт 2015, 18:07
Сообщений: 20
Благодарил (а): 0 раз.
Поблагодарили: 4 раз.
eugenk писал(а):
sergant128 писал(а):
Если хотите глянуть более продвинутые примеры ES2 на русском языке, сходите сюда http://andmonahov.blogspot.ru/2012/10/o ... -20-1.html

Там че-то совсем мало и скучно.
Вот если именно на русском и про openGL то есть 2 классные книги.
OpenGL ES 3.0. Руководство разработчика. - тут вообще все что касается стандарта, все команды, подробно разжевано какие-там переменные что делают + шейдеры normalMapping, Enverovement, и в таком духе с примерами.
http://www.ozon.ru/context/detail/id/32658792/
И вторая
OpenGL 4. Язык шейдеров. Книга рецептов.
http://www.ozon.ru/context/detail/id/31377043/
Там собственно по шейдерам, все подробно разобрано. Модели освещения, карты теней, зеркала и прочее.

Вот их прям рекомендую обе... а уроков пока качественных на русском по openGL нет.
Разве что ветка на 4pda. Но там тоже... полезной информации много, но стиль изложения средний.
http://4pda.ru/forum/index.php?showtopic=418429


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 23 мар 2016, 15:28 
Аватар пользователя

Зарегистрирован: 18 дек 2015, 17:05
Сообщений: 16
Благодарил (а): 1 раз.
Поблагодарили: 1 раз.
Draz1w писал(а):
Там че-то совсем мало и скучно.

Там блог увы по-моему помер :( Блин, ну почему по OpenGL ES на русском ничего нет ! Хоть самому начинай что-то вести. Но как подумаю, что это потребует времени и усилий, желание пропадает. Когда дозрею до мысли сделать свой сайт (хотя он будет в основном не программистский) может и заведу там уголок, посвященный этому делу.

Draz1w писал(а):
Вот если именно на русском и про openGL то есть 2 классные книги.
OpenGL ES 3.0. Руководство разработчика. - тут вообще все что касается стандарта, все команды, подробно разжевано какие-там переменные что делают + шейдеры normalMapping, Enverovement, и в таком духе с примерами.
http://www.ozon.ru/context/detail/id/32658792/
И вторая
OpenGL 4. Язык шейдеров. Книга рецептов.
http://www.ozon.ru/context/detail/id/31377043/
Там собственно по шейдерам, все подробно разобрано. Модели освещения, карты теней, зеркала и прочее.


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

P.S. Нашел "OpenGL 4. Язык шейдеров. Книга рецептов" на английском на рутрекере. Но там 2013-й год. Не подскажете, оригинал русского издания за какой год ? А то хотелось бы иметь посвежее.

P.P.S. Смотрю по оглавлению, книжка посовременней, чем доступно нам на андроиде. Там например про шейдер тесселяции, доступный только в ES 3.1. Да, сейчас такие аппараты появились, но я пока в своих проектах закладываюсь только на 2.0. Иначе велик риск пролёта мимо рынка. Ладно, надеюсь там и о совместимой технике будет что почитать.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 23 авг 2016, 09:18 

Зарегистрирован: 19 авг 2016, 15:45
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Спасибо за прекрасные уроки!
Вопрос:
в методе private void bindData()
Класса OpenGLRenderer
есть строки
// помещаем текстуру в target 2D юнита 0
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, texture);

// юнит текстуры
glUniform1i(uTextureUnitLocation, 0);
Если их убрать, всё прекрасно работает.
Как это объяснить?

Может это связано с тем, что мы эти операции делаем в классе
TextureUtils, который вызываем ранее в
private void prepareData() ?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 175. OpenGL. Текстуры.
СообщениеДобавлено: 19 фев 2017, 19:08 

Зарегистрирован: 18 фев 2017, 05:02
Сообщений: 2
Благодарил (а): 5 раз.
Поблагодарили: 0 раз.
бл.., ах.еть, до чего изложено приятно просто пи..ец.
правда читать таким как я тупым по 10 раз приходится.
но когда получается такой прИход , прям по венам.
все получилось спасибо.
Чувааак ты прям мой кумир. (-_-)


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

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


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

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