PMG https://forum.pmg.org.ru/ |
|
прозрачность с glEnable(GL_BLEND) https://forum.pmg.org.ru/viewtopic.php?f=1&t=6691 |
Страница 1 из 3 |
Автор: | bad_duck [ 12 июл 2008 13:42 ] |
Заголовок сообщения: | прозрачность с glEnable(GL_BLEND) |
У меня опять возникла проблема. Вот например сделал воду, а ее прозрачность не получается, то же самое и со стеклами. Вот мой код Код: glEnable(GL_ALPHA_TEST); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA); glColor4f(1,1,1,0.5); glBindTexture(GL_TEXTURE_2D, textures[0]); water[0].draw(0,0,0,0,0,0); glDisable(GL_BLEND); glDisable(GL_ALPHA_TEST); glColor4f(1,1,1,1); glBindTexture(GL_TEXTURE_2D, textures[1]); wall[0].draw(0,0,0,0,0,0); А в итоге получается, что чем меньше альфа, тем цвет воды становится цветом glClearColor. Долго искал в инете, нашел разные уроки, но у меня не работает. Чего все-таки в коде не так? |
Автор: | MagicWolf [ 14 июл 2008 08:50 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Что значит не получается прозрачность? |
Автор: | bad_duck [ 14 июл 2008 09:53 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
В смысле у меня под водой дно и его должно быть видно через воду (вода очень чистая), ну а получается (при уменьшении альфа), что вода просто темнеет и становится цвета glClearColor, но прозрачнее не становится. Тот же вопрос возникает при создании стекол в окнах, все тоже самое. |
Автор: | MagicWolf [ 14 июл 2008 12:24 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Ты не пробывал glBlendFunc( GL_SRC_ALPHA, GL_ONE );? |
Автор: | bad_duck [ 14 июл 2008 18:41 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Не все равно то же самое. Вот картинка. Вода если альфа = 1 синяя, а на этой картинке альфа = 0,5. MagicWolf можешь, если не трудно, исходник сделать, где есть полупрозрачное стекло (или вода) и земля |
Автор: | MagicWolf [ 15 июл 2008 08:52 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Таких исходников очень много, даже не знаю, что и сказать. Например, исходники к книге Focus On 3D Terrain. |
Автор: | bad_duck [ 24 июл 2008 09:45 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
У меня вопрос про ландшафт. Как лучше покрывать его текстурами: использую карту тайлов (например 10х10) или просто 100 отдельных картинок загружать и ими покрывать? Я думаю работать должно быстрее с картой тайлов, но вот в чем проблема: я загружаю эту большую картинку, opengl ее размазывает для красоты, потом беру определенные квадратики из нее и т.к. картинка была размазана, то на каждом квадратике (тайле) видны края соседних квадратиков (тайлов) из исходной карты тайлов. Выход: я сделал чтобы натягивал квадратики с координатными точками( (0.001 0.001) (0.001 0.099) (0.0999 0.0999) (0.099 0.001)), а до этого были точки ((0 0) (0 0.1) (0.1 0.1) (0.1 0)). Вблизи все идеально, а посмотрим вдаль, то на песочке вылезают кусочки травки, которой на данном тайле нет. Есть ли у кого исходник с тайлингом (только 3д) или ссылочка, а то долго искал в инете и не нашел. Или я просто что-то не так делаю, если надо могу скинуть проект, ехе, или скриншоты |
Автор: | MagicWolf [ 24 июл 2008 14:50 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Тоже самое "исходники к книге Focus On 3D Terrain" |
Автор: | bad_duck [ 24 июл 2008 17:31 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Да нет там, там только 4 разных текстуры, а мне нужно, чтобы на одной было например 4. Будет ли это работать быстрее, если на одной? |
Автор: | MagicWolf [ 25 июл 2008 08:40 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Да будет. |
Автор: | bad_duck [ 25 июл 2008 14:19 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Так найдется ли у кого урок или исходник про тайлинг? |
Автор: | MagicWolf [ 28 июл 2008 10:46 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
А чем исходники к книге Focus On 3D Terrain не устраивают? |
Автор: | bad_duck [ 28 июл 2008 17:25 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Так ведь там нет карты тайлов (много тайлов на одной картинке), так как у них легко можно сделать, т.е. загружать много картинок, а не одну но большую. Но мне нужна загрузка из карты тайлов и их рисование. Вот картинки с моей проблемой. На песке видны следы травы из карты тайлов, а при приближении травы не видно, по видимому при удалении текстура земли размывается. Не знаю как это исправить. Используемые тайлы обведены красным цветом. |
Автор: | MagicWolf [ 29 июл 2008 08:28 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Лучше бы исходник посмотреть. Но если нет, попробую найти какой-то такой код. |
Автор: | bad_duck [ 29 июл 2008 10:59 ] |
Заголовок сообщения: | Re: прозрачность с glEnable(GL_BLEND) |
Я думаю там будет сложно разобраться,там у меня еще и редактор, но вот файл. В main.h лежат нужные функции.Все загружается из файла land.txt движение камеры wasd нажатая мышка - поворот камеры. Также там можно менятm любой кусочек земли, но об этом долго писать. В общем открывай main.h |
Страница 1 из 3 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |