|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.06.2011, 00:19 | #1 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 26
|
Проблема с прозрачностью частиц(DirectX).
Взял из книги по DirectX программу, создающую систему частиц.
Решил сделать что-то напоминающее дым. Поковыряв ее, добился того, чтобы частицы двигались в определенном направлении, но немного расходились от центра к краям. Но когда я заменил текстуры , они стали смешиваться очень сильно с фоном. Причем как-то странно. Более того он не видит альфа канал текстур. Короче я совсем запутался. Очень прошу помочь. Текстуру дыма брал отсюда: http://video10.videocopilot.net/efc5...rojects/63.zip Очень много чего не влезло просто в сообщение, я оставил только основное. Код:
|
03.06.2011, 12:10 | #2 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
Может я чего то не понимаю но у jpg нет альфа канала
|
03.06.2011, 12:20 | #3 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 26
|
Хм, вот я шас тоже задумался насчет того, какой я бред несу. Проблему отсутсвия альфа канала я решил(но для другой картинки). Добавил
Код:
Последний раз редактировалось zipwind; 03.06.2011 в 12:59. |
03.06.2011, 13:15 | #4 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
Покажите скриншот, по вашим словам проблема не совсем ясна
|
03.06.2011, 14:01 | #5 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 26
|
Все вспомнил. Оказывается я в фотошопе вырезал задний фон сам, но об этом забыл.
Но тем не менее нормально прозрачность не удалось настроить. Вот скрин: Как видно, спрайты прозрачные, сильно сливаются с фоном, а на те места, где в одной точке их оказалось несколько смотреть даже страшно. Они должны быть прозрачными, но не настолько. Вот в чем дело. |
03.06.2011, 16:24 | #6 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
дело в том что текстура частицы полупрозрачна поэтому и смешивается с фоном, такое возможно в двух случаях:
1)сама текстура является полупрозрачной, перерисуйте её граф.редакторе 2)полигон на который натягивается текстура имеет полупрозрачный цвет, альфа цвет полигона должен быть 1.0 Вот эта строчка скорее всего задаёт прозрачность Mat.Diffuse.a = Mat.Ambient.a = 0.5f; Нужно 0.5 заменить на 1.0 Последний раз редактировалось RomiKon; 03.06.2011 в 16:27. |
03.06.2011, 17:07 | #7 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 26
|
Пробовал, не особо помогло. Текстуры пробовал разные.
|
03.06.2011, 17:14 | #8 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
// Set the particle's material
Mat.Diffuse.r = Mat.Ambient.r = 1.0; Mat.Diffuse.g = Mat.Ambient.g = 1.0; Mat.Diffuse.b = Mat.Ambient.b = 1.0; Mat.Diffuse.a = Mat.Ambient.a = 1.0; g_pD3DDevice->SetMaterial(&Mat); А так делал? |
03.06.2011, 17:33 | #9 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 26
|
В смысле установить прозрачность перед самой установкой материала?
Да, попробовал, ничего не изменилось. Сейчас конечно попробую текстуру еще раз поменять. |
03.06.2011, 21:02 | #10 |
Пользователь
Регистрация: 06.04.2011
Сообщений: 26
|
Нет, смена текстур ничего не дала.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с прозрачностью OpenGL | saggy | Мультимедиа в Delphi | 0 | 02.07.2010 22:02 |
Проблема с прозрачностью (Transparent) | Pyton | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 26.02.2010 21:02 |
Проблема с DirectX | k1r1ch | Общие вопросы Delphi | 5 | 18.09.2009 17:41 |
Восстановление Треков частиц(фитирование) | winny | Общие вопросы C/C++ | 0 | 01.10.2008 13:55 |