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

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

Свет,туман


VitGun ©   (2002-09-18 18:14:00) 

Доброго времени суток всем!!! Надеюсь, что еще не достал вас дурацкими вопросами...вот такая трабла: как в DelphiX добавить источник света? Или туман?

На форме есть: Dxdraw, dximagelist,dxtimer.
На dxdraw рисую 2.5D карту и пробую добавить источник света, но...ничего не происходит...А вот так я делал свет:
...
var Light: IDirect3DRMLight;
begin
DXDraw1.D3DRM.CreateLightRGB(D3DRMLIGHT_DIRECTIONAL, 1, 0, 1, Light);
DXDraw1.Scene.AddLight(Light);
...
но как ни менял цвет, ничего не происходит, может кто просветит в данном вопросе??


NailMan   (2002-09-26 01:36:00) [1]

А можно использовать интерфейс ID3DXSprite в модуле D3DX8 из DirectX API.

У меня в игре(DirectX 8) вся экранная спрайтовая байда(элементы менюшеки, HUD в игре, текст и прочее фуфло) рисуется посредством одного-единственного спрайта(и пять кусковых текстур со всеми элементами, шрифтами и т.д). Задаешь координаты UL угла, масштаб, TRect области на текстуре, угол поворота и точку поворота(и преде этим устанавливаешь стейты смешивания альфа канала) и вуаля. Никакого геморроя. Этот спрайт один раз создал и все элементы через него выводишь. Все просто до нельзя.

Но этот спрайт подходит только для простых 2Д страйтов(менюхи, текст) а для спецэффектовых надо делать в виде 2-х полигонов и проецировать их с экранной плоскости в реальные координаты.


VitGun   (2002-09-25 18:07:00) [2]

Artemy, я не ленивый, просто не нашел...за пример спасибо щас буду смотреть.


Artemiy   (2002-09-24 21:48:00) [3]

ЛЕНЬ - это плохо! Всё там есть!
кинул пример...


VitGun   (2002-09-24 18:10:00) [4]

Artemy, на форуме я был...но ничего интересного и полезного не нашел, если не трудно - кинь примерчик на мыло...plz.


Artemiy   (2002-09-20 16:46:00) [5]

VitGun
пишу на DelphiX, но это почти без разницы, в ДельфиХ по меньше писать, но зато скорость меньше да и Хори больше не хочет обновлять его.
рисовать просто:
1. инифцилизировать Д3Д.
2. загрузить текстуру.
3. задать вершины.
4. выкинуть на экран полигоны с текстурой.
сходи на форум www.gamedev.ru там это не раз обсуждалось...


VitGun   (2002-09-19 18:02:00) [6]

Artemiy, тогда возникает вопрос: как рисовать спрайты в D3D? Canvas"ом что-ли?

З.Ы Кстати ты свой движок на чем пишешь, на DelphiX или DirectX API?


Artemiy   (2002-09-19 14:50:00) [7]

VitGun
да pasha676 прав. нельзя так делать....точнее это не может работать! Нужно или руками рисовать (там палитра или ещё чё) но это ИМХО убого и медленно. Или рисовать спрайты с помощью Д3Д а там уже есть возможность сделать более простым и быстрым способом свет. вот можеш посмотреть что у меня получается: artemiy.boom.ru


pasha676   (2002-09-18 18:21:00) [8]

То есть ты рисуешь двухмерную "плоскую" карту и пытаешся добавить туда трехмарный источник света? Поправте меня, но это не должно вроде работать в принцыпе.
У меня в одной проге показываются трехмерные объекты и показания датчиков. Датчики изображены двухмерно (вращающиеся рисунки из DXImageList-а + цифирки). Источник трехмерного света ни как вообще не влияет на эти рисунки.


Наверх

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