Проблема - не пашет прога с ДиректИкс

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Проблема - не пашет прога с ДиректИкс

Сообщение Cadett » 03.04.2003 (Чт) 22:10

Такая проблема - пишу прогу, в ней юзается DirectX (DirectDraw) для поворота картинки. У меня всё работает (WinXP, DX8.1). Да другом компе - не могу запустить (Win98, DX8.0). Выдаёт Automation Error на строчку
g_device.DrawPrimitive ...

Случайно, никто не знает в чём дело??

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 04.04.2003 (Пт) 14:34

GTA3?например с 8.0 не работает, а с 8.1 работает.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Cremator
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 03.02.2003 (Пн) 12:14

Сообщение Cremator » 06.04.2003 (Вс) 0:21

Правильно всё . У тебя в проекте Project-> references-> DirectX 8.1 а у другой машины нету этого DirectX 8.1 и некуда Reference отсюда Automation error

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 06.04.2003 (Вс) 23:25

О! Спасибки, попробую что-нить сделать...

Cadett
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 23.06.2002 (Вс) 22:55
Откуда: Russia

Сообщение Cadett » 07.04.2003 (Пн) 0:22

Хм... В референсах ссылка только на DirectX 7 type library = dx7vb.dll. Нету ссылок на 8.1 и даже на 8.0 нет... Надо проверить наличие этой библиотеки на другом компе...

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 31.08.2005 (Ср) 19:10

Понимаю, что прошло 2 года, но меня заинтересовало вот что:

Такая проблема - пишу прогу, в ней юзается DirectX (DirectDraw) для поворота картинки.


Насколько я знаю, DirectDraw не имеет встроенных механизмов для свободного поворота. Или я ошибаюсь? Может у кого-нить есть примеры как реализовать на DirectDraw поворот поверхности (или ее части) под любым углом? Сразу оговорюсь - Direct3D не предлагать ;)
То, что для одних константа, для других только переменная...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 31.08.2005 (Ср) 19:53

Odrick, верно подмечено! А почему не предлагать? D3D+DD в связке здорово работают =)
ХЎ

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 31.08.2005 (Ср) 20:45

поворот поверхности (или ее части)


Поворачивать части на DD? Хм...
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 31.08.2005 (Ср) 23:14

Да потому что существующий движок для того проекта, в котором это нужно, реализован на DirectDraw. Сейчас его переделывать на D3D уже не имеет смысла. Подойдет даже "ручной" поворот какой-нить поверхности. Тормоза при этом не важны - поворот будет осуществляться единожды за достаточно большой промежуток времени.
То, что для одних константа, для других только переменная...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 31.08.2005 (Ср) 23:23

Odrick, да там переделывать совершенно ничего не нужно. У тебя есть Device, которым просто нужно прорисовать прямоугольник (четыре вертекса), которые уже сможешь поворачивать как угодно. Ничего переделывать не надо, только немножечко добавить код.
ХЎ

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 31.08.2005 (Ср) 23:29

Хм... А примером не можеш угостить? Или подскажи куда сходить почитать-посмотреть? ;)
То, что для одних константа, для других только переменная...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 31.08.2005 (Ср) 23:31

по-моему это как раз то, что тебе нужно. 2Д Движок, который я написал года два назад... Сорцы и 2 сэмпла.
ХЎ

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 31.08.2005 (Ср) 23:32

гы =) пока цеплял ты отпостил уже =) забавно =)
ХЎ

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 31.08.2005 (Ср) 23:37

Оки, прям щас посмотрю :)
То, что для одних константа, для других только переменная...

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 01.09.2005 (Чт) 0:28

Да, все очень солидно написано, респект :) Во всяком случае разобраться теперь будет не сложно. Только вот еще один вопросец возник... А как выставляется прозрачность (Color Key) в случае с прорисовкой спрайтов с помощью D3D? И можно ли это добавить в твою dll-ку?
То, что для одних константа, для других только переменная...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 02.09.2005 (Пт) 17:20

это тебе сначала надо будет загрузить текстуру с альфаканалом, и задать ей альфа цвет. А потом поставить RenderState'ы с определенным блендингом. задай этот вопрос в VB&3D части форума, потому что я, если честно, седьмой DX забыл наверно навсегда...
ХЎ

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 02.09.2005 (Пт) 17:52

Ок, спасибо. За пример особенно. Кстати, музыка правильная в прммерах - Metall Forever! ;) В принципе я решил уже этот вопрос по-другому - "ручным" поворачиванием региона определенной поверхности. Время поворота с антиалиасингом региона 64х64 точек около 54 миллисекунд, чего мне вполне достаточно.
То, что для одних константа, для других только переменная...


Вернуться в Visual Basic 1–6

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

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

    TopList  
cron