Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.119.219] |
|
Сообщ.
#1
,
|
|
|
В наличии есть пратикл эмиттр (в отдельном FBO), который генерирует набор партиклов. В частности костёр, выглядит примерно так (прошу прощения за фреймрейт, в реальности он выше):
Прикреплённая картинка
Задача, написать шейдер, который проверяет альфу и при alpha, допустим Прикреплённая картинка
Я так понимаю, в случае выполнения хотя бы первого условия должно получиться нечто такое: uniform float u_AlphaGate; void main() { vec4 clr = ????; gl_FragColor = clr.a < 0.4 ? vec4(0.0, 0.0, 0.0, u_AlphaGate); : clr; } Но проблема в том, что не в курсе как можно получить цвет пикселя (знаки вопроса). Есть идеи куда гуглить? Добавлено Ах да, GLSL ES, забыл совсем |
Сообщ.
#2
,
|
|
|
Цитата Serafim @ Наверняка описка в знаке, и имелось ввиду: "при alpha, допустим, < 0.4 обнуляет её". проверяет альфу и при alpha, допустим > 0.4 обнуляет её, при 0.4 < alpha < 0.8 приравнивает её к 0.6 |
Сообщ.
#3
,
|
|
|
Цитата Славян @ Наверняка описка в знаке угу конец рабочего дня, сделай скидку, прости |
Сообщ.
#4
,
|
|
|
Цитата Serafim @ Зачастую воруют с текстуры:Но проблема в том, что не в курсе как можно получить цвет пикселя (знаки вопроса). Есть идеи куда гуглить? vec3 colour = texture2D(guid,gl_TexCoord[0].xy).xyz; gl_FragColor = Колдуем(colour); |
Сообщ.
#5
,
|
|
|
текстура следующая:
Прикреплённая картинка
Или можно как-то буфер, где оно всё лежит конвертнуть в неё и передавать? |
Сообщ.
#6
,
|
|
|
Цитата Serafim @ Ага, так и делают. Или можно как-то буфер, где оно всё лежит конвертнуть в неё и передавать? |
Сообщ.
#7
,
|
|
|
о, ну тогда ништяк
пока что всё, сенкс |
Сообщ.
#8
,
|
|
|
Сообщ.
#9
,
|
|
|
Хочу увидеть анимацию
|
Сообщ.
#10
,
|
|
|
Цитата DIS @ Хочу увидеть анимацию Прикреплённая картинка
Добавлено С дымом только поиграться бы, но на светлом фоне норм выглядит. Добавлено Цитата Serafim @ С дымом только поиграться бы Это всё тот же самый костёр из треугольников, только: 1) Наложен шейдер (если я правильно всё сделал), что указан в посте 2) Ещё добавлен небольшой блум-эффект Из-за того, что прозрачность не плавно пропадает, а "слоями", как в первом посте - дым исчезает не так плавно, как хотелось бы. |