Вниз
Скачать: CL | DM;

Свет,туман   Найти похожие ветки 

← →
VitGun   (2002-09-18 18:14) [0]

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

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


← →
pasha676   (2002-09-18 18:21) [1]

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


← →
Artemiy   (2002-09-19 14:50) [2]

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


← →
VitGun   (2002-09-19 18:02) [3]

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

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


← →
Artemiy   (2002-09-20 16:46) [4]

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


← →
VitGun   (2002-09-24 18:10) [5]

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


← →
Artemiy   (2002-09-24 21:48) [6]

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


← →
VitGun   (2002-09-25 18:07) [7]

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


← →
NailMan ©   (2002-09-26 01:36) [8]

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

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
3-5391
Behemoth
2003-02-12 10:58
2003.03.03
Обрыв связи с сервером


14-5774
Таня
2003-02-13 07:37
2003.03.03
О музыке


14-5834
vajo
2003-02-13 07:23
2003.03.03
Диагностика сети Microsoft


1-5575
smok_er
2003-02-19 14:01
2003.03.03
Работа с


3-5394
Wizard_Ex
2003-02-09 17:02
2003.03.03
Дерево SQL - удаление дочерних веток




   Наверх