Форум: "Игры";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизПроблемы с прозрачными объектами в GLScene Найти похожие ветки
← →
tERRORist © (2005-07-03 13:53) [0]Возможно вопрос решается легко, но пока не нашел ответа. Из примеров я так понял что нужный эффект устанавливается свойством GLScene.ObjectsSorting и соответствующей сортировкой объектов в дереве сцены. Но как быть например в случае если имеются два полупрозрачных GLMesh, представляющие собой спирали, закрученные между собой (как молекула ДНК). Тогда тот меш, который в иерархии стоит ниже в некоторых местах перекрывает первый.
← →
A22 © (2005-07-04 16:25) [1]самый простой способ - выводить прозрачные объекты не со смешиванием по альфа-каналу, а с обычным аддитивным блендингом, т.е. сложением. хз как в GL, а в D3D это есть флаг D3D_BLEND_ONE в параметрах бленда. посмотри, вдруг подойдет
← →
A22 © (2005-07-04 16:25) [2]кстати, при таком бленде и сортировать объекты не надо перед выводом
← →
Fosgen (2005-07-04 17:26) [3]Я тут недавно возился с такой ситуевиной. В общем - все делается в настройках тектур (так надежнее - хотя не единственный вариант).
Blending Mode:=bmTransparency;
ImageAlpha:=tiaSuperBlackTransparent;
TextureMode:=tmReplace;
Это для прозрачных объектов не изменяемой прозрачности\яркости
Для объектов изменяемой прозрачности\яркости (не аддитивный блендинг):
Blending Mode:=bmAdditive;
ImageAlpha:=tiaSuperBlackTransparent;
TextureMode:=tmModulate;
FrontProperties.Emission.Red:=255;
FrontProperties.Emission.Green:=255;
FrontProperties.Emission.Blue:=255;
проверено на видеокарте Ati Radeon 9550. Может быть будет работать и на GeForce"ах.
проверено для карт nVidia (то же самое на ATi дает артефакты):
Blending Mode:=bmAdditive;
ImageAlpha:=tiaDefault;
TextureMode:=tmReplace;
Это для прозрачных объектов не изменяемой прозрачности\яркости (не аддитивный блендинг)
Для объектов изменяемой прозрачности\яркости:
Blending Mode:=bmAdditive;
ImageAlpha:=tiaDefault;
TextureMode:=tmDecal;
Разумеется во всех указанных случаях в текстуре цвет RGB(0,0,0) - считается прозрачным. При использовании таких текстур на спрайтах - важен вывод их с отключением Z-буффера (NoZWrite:=True).
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c