Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прозрачность текстуры [GLScene, Windows]


WandR ©   (2005-07-30 22:02:00) 

Как установить уровень прозрачность у текстуры в библиотеке материалов?
Я пробовал выставлять Blending Mode: bmAdditive, но текстура становится почти невидимой а мне нужно чтобы она была слегка прозрачна.


Fosgen   (2005-08-01 21:29:00) [1]

Я тут недавно писал на эту тему.
В общем - все делается в настройках тектур (так надежнее - хотя не единственный вариант).
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;
//данные настройки позволяют получить исходную яркость текстуры.

В этом режиме прозрачность регулируется "шевелением" свойства Alpha в FrontProperties.

проверено на видеокарте Ati Radeon 9550. Может быть будет работать и на GeForce'ах.

проверено для карт nVidia (то же самое на ATi дает артефакты):

Blending Mode:=bmAdditive;
ImageAlpha:=tiaDefault;
TextureMode:=tmReplace;

Это для прозрачных объектов не изменяемой прозрачности\яркости (не аддитивный блендинг)

Для объектов изменяемой прозрачности\яркости:

Blending Mode:=bmAdditive;
ImageAlpha:=tiaDefault;
TextureMode:=tmDecal;

В этом режиме прозрачность регулируется "шевелением" свойства Alpha в FrontProperties.

Разумеется во всех указанных случаях в текстуре цвет RGB(0,0,0) - считается прозрачным. При использовании таких текстур на спрайтах - важен вывод их с отключением Z-буффера (NoZWrite:=True).


Fosgen   (2005-08-01 21:26:00) [2]

Я тут недавно писал на эту тему.
В общем - все делается в настройках тектур (так надежнее - хотя не единственный вариант).
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).


A22   (2005-08-01 18:01:00) [3]

Channel -> Add channel. это и будет альфа


WandR   (2005-08-01 17:28:00) [4]

А где выставлять альфа канал в PhotoShop?


Домовенок   (2005-07-30 23:07:00) [5]

Есть два варианта придать прозрачность текстуре:
1. Добавить альфа канал. Делается это в PhotoShop или в любом другом редакторе, работающем с альфа каналами и сохраняется в tga. После чего в библиотеке материалов ставится свойство BlendingMode в Transparansy.
2. Пошевелить свойство текстуры Alpha в FrontProperties > Ambient, Diffuse, Emission. Сам я так не делал, но уверен, что есть смысл поковырять, решение должно быть. Еще в догадках, что не во всех режимах BlendingMode, Alpha может влиять на прозрачность текстуры.


Наверх

Титульная страница Поиск, карта сайта Написать письмо