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

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 24 июн 2017, 23:34

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Урок 171. OpenGL. Цвет.
СообщениеДобавлено: 23 ноя 2015, 08:00 
Администратор
Аватар пользователя

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

В этом уроке:


- передаем цвет для вершин
- используем varying переменную 




Click here to read this article!

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


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

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 171. OpenGL. Цвет.
СообщениеДобавлено: 09 дек 2015, 20:55 

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 171. OpenGL. Цвет.
СообщениеДобавлено: 10 дек 2015, 13:56 

Зарегистрирован: 25 янв 2015, 18:57
Сообщений: 34
Благодарил (а): 9 раз.
Поблагодарили: 2 раз.
Скажите пожалуйста, а почему мы не можем обойтись без varying переменной и передавать значения напрямую во фрагментный шейдер, минуя вершинный?
Например, вот содержимое фрагментного шейдера:
Код: [ Загрузить ] [ Скрыть ]
  1. precision mediump float; 
  2. attribute vec4 a_Color; 
  3. void main() 
  4.     gl_FragColor = a_Color; 

А в OpenGlRenderer все без изменений:
Код: [ Загрузить ] [ Скрыть ]
  1.    aColorLocation = glGetAttribLocation(programId, "a_Color"); 
  2.         vertexData.position(2); 
  3.         glVertexAttribPointer(aColorLocation, 3, GL_FLOAT, false, 20, vertexData); 
  4.         glEnableVertexAttribArray(aColorLocation); 

Т.е. мы a_Color объявили во фрагментном шейдере и убрали ее в вершинном. Но почему-то не работает так.
Видимо, по слову varying система и определяет, что нужно интерполировать значения.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 171. OpenGL. Цвет.
СообщениеДобавлено: 15 дек 2015, 23:07 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1333
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
Фрагментный шейдер принимает на вход только uniform и varying. В uniform мы передаем константу, которая будет работать для всего примитива, пока он происовывавеся.
А varying, насколько я понял, без вершинного шейдера не работает. Сначала в varying должны попасть значения, соответствующие вершинам, а затем уже из этих вершинных значений система интерполирует (рассчитывает) значение для каждой точки между вершинами и передает это в фрагментный шейдер.

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


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

Зарегистрирован: 28 окт 2016, 14:31
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте, может ли кто-нибудь скинуть ссылку на исходники. Все делаю как написано. Даже копипастой пробовал. Но интерполяцию не хочет делать. Выдает только черный экран. С другими уроками проблем не было. Даже начало этого урока все хорошо работает. Но с интерполяцией что то я затупил.


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

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


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

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