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/