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

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

Direct X Alpha Blending и VertexFog [Delphi, MS VC++, Windows]


@!!ex ©   (2005-07-01 09:02:00) 

Как нормально организовать прозрачность и туман?
С Блендом еще более менее понятно.
А туман в СДК сделан по средствам шейдеров, другого способа нету?
Эх где ты где ты родной OGL....


@!!ex   (2005-07-07 12:21:00) [1]

1) Стандартным конвеером поддерживается. См. пример.
2) Спасибо! Как я не догадался использовать текстурные переменные????? :)


A22   (2005-07-06 11:14:00) [2]

да, кстати, касательно дополнительных данных в формате вершин. У тебя есть 8 текстурных координат, по 4 флоата каждая - используй их если что :)


A22   (2005-07-06 11:13:00) [3]

у тебя на радеоне не заработало.. вообще, Volume Fog не есть вершинный туман, это гораздо более сложная техника и, по-моему, стандартным конвеером не поддерживается. вобщем, у nVidia и Microsoft есть примеры на VolumeFog. все на шейдерах. смотрим например DirectX SDK April 2005, кажись там было


@!!ex   (2005-07-05 16:29:00) [4]

http://delphigl.narod.ru/delphigl/src/volumefog.rar
Пример на OGL. Все просто. Для каждой вершины параметры тумана индивидульны, в результате можно добиться поразительных эффектов. Как то-же сделать на DX?


A22   (2005-07-05 11:09:00) [5]

я что-то не пойму, какие координаты нужно задать вершине... вес тумана рассчитывается исходя из удаленности от камеры и только, так что нужно добавить вершине?


@!!ex   (2005-07-05 09:33:00) [6]

Как туман считать - я знаю. И шейдер написать тоже е проблема.
Как для каждой вершины задать свои координаты?
В OGL - перед определением вершины задаешь и все.
А в DX - буффер вершин! И у вершины нету дополнительных параметров.

P.S.
Я скорее всего где то туплю. Объясните, где.


A22   (2005-07-04 16:20:00) [7]

fog_density  = vertex_distance_fom_camera/(z_far - z_near);
result = (fog_color - vertex_color)*fog_density + vertex_color;

вот вершинный туман. считать в вершинном шейдере, если нет желания делать шейдер - тотчно так же считает туман и стандартный конвеер D3D при определенных флагах (линейный вершинный туман)


@!!ex   (2005-07-04 11:38:00) [8]

С туманом не подсказали.
Меня вертексный туман интересует(или еще его помоему координатным зовут), это когда у каждой вершины есть координаты тумана.


A22   (2005-07-01 10:55:00) [9]

туман подсказали, а с прозрачностью-то что было не так?


Sapersky   (2005-07-01 10:51:00) [10]

А туман в СДК сделан по средствам шейдеров

Шейдеры не по средствам? :)
Device.SetRenderState и D3DRS_FOGENABLE, D3DRS_FOGSTART, D3DRS_FOGEND и т.д. См. VCLFog из SDK к DX8 ( http://www.clootie.ru).


Наверх

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