Проблемы с альфа блендингом

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

Модератор: Mikle

Dakovalev1
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 23.02.2010 (Вт) 14:16

Проблемы с альфа блендингом

Сообщение Dakovalev1 » 25.03.2010 (Чт) 19:51

У меня возникла проблема текстурирования с альфа каналом.Создал на ГИМП`е нормальную текстуру с альфа каналом,
У Direct3D устройства поставил для этого следующие параметры:
Код: Выделить всё
dev.RenderState.AlphaBlendEnable = True
dev.RenderState.SourceBlend = Blend.SourceAlpha
dev.RenderState.DestinationBlend = Blend.InvSourceAlpha

И сталь спокойно рисовать плоскости с текстурой(текстура дерева что-то типа билборда) с альфа каналом.
Суть проблемы в том,что когда я пытаюсь нарисовать много деревьев,если передние деревья рисуются раньше задних,то передние почему-то всё таки перекрывают задние,тоесть текстура дерева не становится прозрачной(думаю это вызвано тем,что при рисовании передних деревьев direct3d не знает,что сзади будут нарисованы ещё деревья).Однако если при рисовании передних деревьев,задние уже нарисованы,и direct3d нормально рисует передние,не перекрывая задних.Вопрос: какие параметры можно поставить,чтобы при любом порядке рисования деревьев,деревья не перекрывали друг друга.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Проблемы с альфа блендингом

Сообщение DODge » 25.03.2010 (Чт) 20:35

Если мне склероз не изменяет, то что-то типа этого:
Код: Выделить всё
dev.RenderState.AlphaTestEnable = True  ' здесь автотест альфаканала
dev.RenderState.ReferenceAlpha = 150    ' порог проверки значения от 0 до 255 (тупо среднее)
dev.RenderState.AlphaFunction = Direct3D.Compare.GreaterEqual 'метод сравнения - большее при равенстве
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

Dakovalev1
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 154
Зарегистрирован: 23.02.2010 (Вт) 14:16

Re: Проблемы с альфа блендингом

Сообщение Dakovalev1 » 25.03.2010 (Чт) 20:56

:shock: :o :cheese:
Круто!Спасибо большое.Наконец-то у меня будет лесочек!


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

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

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

    TopList