Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
newart
Зарегистрирован: 01.01.2015 Сообщения: 3
|
Добавлено: Пт Янв 02, 2015 06:23 Заголовок сообщения: Как сделать эффект прорисовки текстуры? |
|
|
Есть 3Д обьект достаточно сложной формы. Допустим модель человека.
Покрытая текстурой. Как сделать плавное натяжение другой текстуры в одной плоскости?
Поясняю. Допустим фигура стоит лицом к зрителю, тогда текстура должна прорисовываться от кончика носа , дальше к ушам и до темечка.
Ну знаете, как будто человека постепенно пересекает плоскость параллельная его телу.
Интересно натянуть текстуру, а так же попробовать симулировать эффект прохождения лазерного луча.
Видимо нужно капать в сторону шейдеров? Шейдертой подойдет?
(можно еще сравнить с погружением в жидкость, погруженная части рисуется одной текстурой, чистая чать другой) |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Пт Янв 02, 2015 08:25 Заголовок сообщения: |
|
|
можно и без шейдеров, как делали деды
Рендерим в два приёма.
Курим glClipPlane (если на OpenGL пишем)
визуальный пример http://www.youtube.com/watch?v=iU59jJGROUY
пример кода http://www.firststeps.ru/mfc/opengl/r.php?39
Более прогрессивные методы потребуют знания векторной алгебры, или шейдеров (gl_ClipVertex и т.п.)
Последний раз редактировалось: BiTL (Сб Янв 03, 2015 14:40), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
 |
Mikle

Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Пт Янв 02, 2015 09:29 Заголовок сообщения: |
|
|
Из предложенного наиболее оптимальным считаю вариант с ClipPlane. Но можно сделать всё и в один проход, и при этом даже без шейдеров, на FFP - с помощью проективной 1D текстуры-маски. Но применение простейшего вертексного шейдера всё значительно упростит. |
|
Вернуться к началу |
|
 |
bi71

Зарегистрирован: 14.07.2012 Сообщения: 871
|
Добавлено: Сб Янв 03, 2015 08:14 Заголовок сообщения: |
|
|
Вангую, что траюнчик напишет код на PureBasic'e  _________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
 |
|