Alpha канал в DX8

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Alpha канал в DX8

Сообщение d3drm » 25.03.2004 (Чт) 21:21

Нужен небольшой пример под dx8 с демонстрацией alpha-канала. Например рендеринг прямоугольника с разными alpha-значениями каждого вертекса. Если можно, на мыло asdvb@mail.ru или сюда исходный код. Буду очень благодарен.
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 26.03.2004 (Пт) 13:56

Вот когда-то писал:

http://www.tuapse-mikle.narod.ru/testalfa.rar

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 26.03.2004 (Пт) 16:10

Короче у меня он работает так: при загрузке таймер нагоняет значения А, но картинка появляется тока при значении 255, при изменении ползунка ничего не меняется.
ХЎ

Vovik
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 643
Зарегистрирован: 02.08.2003 (Сб) 15:14
Откуда: Belarus, Minsk

Сообщение Vovik » 26.03.2004 (Пт) 20:46

d3drm писал(а):Короче у меня он работает так: при загрузке таймер нагоняет значения А, но картинка появляется тока при значении 255, при изменении ползунка ничего не меняется.

У меня всё работает.... В начале проявляется картинка, а потом всё регулится ползунками....

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 27.03.2004 (Сб) 11:18

d3drm
А что у тебя за видюха? Начиная от RivaTNT должно работать. Может экзотика какая-то, типа Savage?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 27.03.2004 (Сб) 13:40

Да не, все как у людей вроде RivaTNT 16...

В чем же дело? Реально надо, может как-нить объяснишь, как задается альфа значение каждого вертекса, а еще важнее, как ето на экран рендерить, с какими renderstate'aми?
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 27.03.2004 (Сб) 18:52

Флаговое описание вертекса должно содержать D3DFVF_DIFFUSE, например:
Код: Выделить всё
Private Const D3DFVF_CUSTOMVERTEX = (D3DFVF_XYZ Or D3DFVF_DIFFUSE Or D3DFVF_TEX1)


Вертекс формат, соответственно, должен содержать Color:
Код: Выделить всё
Private Type CUSTOMVERTEX
  Position As D3DVECTOR
  color As Long
  tu As Single
  tv As Single
End Type


Само собой:
Код: Выделить всё
  Call d3dDevice.SetRenderState(D3DRS_ALPHABLENDENABLE, True)


Ну а рендерстейты зависят от желаемого эффекта. Вот такой вариант работает даже на SiS6326:

Код: Выделить всё
  Call d3dDevice.SetRenderState(D3DRS_SRCBLEND, D3DBLEND_SRCALPHA)
  Call d3dDevice.SetRenderState(D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR)
  Call d3dDevice.SetRenderState(D3DRS_BLENDOP, D3DBLENDOP_ADD)


А 4 строки с "D3DTSS_" можно убрать.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 27.03.2004 (Сб) 20:08

t.e. теперь задавать вертексам цвет RGBA, причем в зависимости от A вертекс будет прозрачнее?
ХЎ

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 27.03.2004 (Сб) 20:26

Хм... Без текстуры отдельные вертексы имеют свою прозрачность, но как натягиваешь текстуру блендинг применяется ко всем вертексам. чтотакое???
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 28.03.2004 (Вс) 9:27

Была бы под рукой TNT-шка, проверил бы. На TNT2 работает, до сих пор считал, что между ними нет разницы для программиста. Иногда для старого железа имеет смысл поменять дрова, причем тоже на старые. На TNT-TNT2 под 9X неплохо работал Det6.31, под XP - 21.81.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 28.03.2004 (Вс) 19:36

Спасибо, Mikle, ты мне ОЧЕНЬ помог! Реальное ОГРОМНОЕ пасибо. З.Ы. Не хочешь сотрудничать? Ты сейчас чем-нибудь занимаешься? У меня есть одна сумасшедшая идея, но вроде вполне реальная. Так что если есть хоть чуть-чуь времени и желания,....
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 30.03.2004 (Вт) 17:50

Я с трудом представляю работу двух программистов над одним проектом. Мог бы выполнять отдельные заказы, типа написать процедуру (или класс, или контрол) с четко заданными входными и выходными параметрами. А общий план проекта с описанием этих самых классов и параметров должен делать один человек.
В общем скажи идею конкретнее, или это пока секрет?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 31.03.2004 (Ср) 19:30

Если можешь, оставь мыло, я тебе все намылю приватно.
ХЎ


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList