DirectX 9 для VB 6.0

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

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

DirectX 9 для VB 6.0

Сообщение d3drm » 06.05.2005 (Пт) 20:02

Как вы считаете, нужна ли данная штука или нет? Я сейчас занимаюсь переводом некоторых нужных мне функций по DX9 на шестой VB и подумал, что мог бы создать DLL для работы с DX9 из любимой среды VB 6.0. Но надо ли это вообще кому-либо?
ХЎ

Бутч
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 29.04.2005 (Пт) 17:30
Откуда: Днепр

Сообщение Бутч » 06.05.2005 (Пт) 20:22

Я девятый директ на VB.NET в глаза всего один раз видел, и у меня несколько вопросов:
1) Чем лучше 9 версия от 8-й?
2) Легче ли писать на 9-м?
3) Разве под шестую версию нет такого ДЛЛ?
4) Нужна ли для него более новая видеокарта?
5) Извините за оффтоп, но чем отличаются Direct 9.0 и Direct 9.0 версии 'C'? Для них библиотеки разные?
"Пусть вон тот желтый кубик будет для наглядности синим шариком."

Windows XP: compiling 95%...
- Билл, опять повисло!
- Ничего, сойдет.

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

Сообщение d3drm » 06.05.2005 (Пт) 20:36

1) Больше возможностей и, возможно, лучше скорость. Главным отличием является то, что 9ка в оличие от своего предшественника является управляемой, то есть можно полностью следить за процессом вывода графики на экран, а не задавать свойства вывода.
2) В принципе в C++ различий практически нет, а вот в VB и VB NET они колоссальны, поэтому я и решил написать DLL для шестого васика.
3) Нет, потому что DX9 - управляемый код, VB6 не поддерживает его.
4) Видеокарта новая нужна не для DX а для игр, которые с ним делаются.
5) Вряд ли, скорее просто убраны баги какие-то и все...
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 06.05.2005 (Пт) 20:37

Конечно нужно. Особенно если это полный перевод, с шейдерами 2.0. Чего стоит один Occlusion Querry.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 06.05.2005 (Пт) 20:38

По теме вопроса 2).

Так сильно легче на девятке писать?

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

Сообщение d3drm » 06.05.2005 (Пт) 20:44

Шейдеры будут неотъемлемой частью всего этого, это как раз является основной причиной почему я пишу эту DLL. DLL представляет из себя набор API функций вида DirectX_Direct3DCreate, Device_DrawPrimitiveUP, Device_SetRenderState и т.п. То есть Вместо объектов - только функции. Позже можно будет создать классы обертки, но по-моему и так все интуитивно понятно - все как и раньше, только вместо разделителя-точки ставим знак пробела-подчеркивания.

Пока сделано очень мало, как только сделатю хоть что-то мало-мальски приличное, сразу вывешу. То есть как только добалю те функции, которые нужны мне.

Потом уж скажате - круто это или полный отстой. Кстати, инициализация, прорисовка примитивов и т.п. уже работает )
ХЎ

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

Сообщение d3drm » 06.05.2005 (Пт) 20:47

Amed писал(а):По теме вопроса 2).

Так сильно легче на девятке писать?


Хм... Не знаю, сам понимаешь, приходится еще и NET учить... Я даже сам для себя решил, что мне легче на сях писать, чем на VB.NET (DX программы).
ХЎ

Бутч
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 29.04.2005 (Пт) 17:30
Откуда: Днепр

Сообщение Бутч » 06.05.2005 (Пт) 20:54

Вообще говоря надо уже и на девятый переходить, тем более, что его делали ради Бейсика. А то уже скоро небось десятый выпустят, а мы еще на восьмом. Сразу привыкнуть к .NET и к новому директу сложновато небось будет, а вот если бы сначала в родном 6.0 научится :roll: . Было бы круто :D . Только вот обучалок по девятому фиг найдешь :( .Вообще если сможешь переделать, то обязательно переделывай. Я например буду ждать и с радостью скачаю Dll, если ты его не на продажу выложишь, а в форуме :) . Только вот посмотри по сайтам, у меня такое смутное ощущение, что кто-то уже пытался сделать то же самое...Мало ли...Ну чтоб труд такой не пропал.
"Пусть вон тот желтый кубик будет для наглядности синим шариком."

Windows XP: compiling 95%...
- Билл, опять повисло!
- Ничего, сойдет.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 06.05.2005 (Пт) 20:59

Мдя, d3drm, понимаю... Я сам как прочитал книжки замечательные, так и НЕТ понравился :)

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

Сообщение d3drm » 06.05.2005 (Пт) 21:11

Amed, :lol:

Бутч, такую штуку я нигде не встречал, а на счет платности - это будет совершенно бесплатный продукт, так что не парьтесь =)
ХЎ

Бутч
Обычный пользователь
Обычный пользователь
 
Сообщения: 57
Зарегистрирован: 29.04.2005 (Пт) 17:30
Откуда: Днепр

Сообщение Бутч » 07.05.2005 (Сб) 10:59

все как и раньше, только вместо разделителя-точки ставим знак пробела-подчеркивания.

ой-ой-ой :shock: . А без этого можно будет потом сделать, чтобы точки ставить? Меня просто ужасно бесит постоянное клинанье шифта :x . Я поэтому и не могу писать на С++. А это будет как раз шаг в сторону Си. Ну будут потом точечки или нет :( ?
2) В .NET тоже надо с подчеркиваниями писать :shock: ?
"Пусть вон тот желтый кубик будет для наглядности синим шариком."

Windows XP: compiling 95%...
- Билл, опять повисло!
- Ничего, сойдет.

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

Сообщение d3drm » 07.05.2005 (Сб) 12:57

Бутч, да, но для этого весь АПИ придется оборачивать в классы. В принципе можно, но проще все-таки покликать шифт, помоему...

В той DLL что я пишу нет классов, поетому для того, чтобы разобраться что куда я использую синтаксис, который вроде должен быть интуитивно понятен тем, кто пишет под DX.

Например Device.SetTextureStageState - это в случае с классами, а Device_SetTextureStageState - в случае моей DLL. Разница только в точке. Можно было бы писать DeviceSetTextureStageState, но согласитель, потом читается хуже...

Вот пример DLL, пока еще совсем сырой, но уже работающий. Вывешиваю только для того, чтобы вы оценили сам код. Сложен ли он, неудобен и т.п.

Тем, кто пишет по DX уже давно предлагаю обратить внимание на те типы и списки которые я заменил. Например SetRenderState имеет новые параметры (так есть в DX9), а SetTextureStageState разделился на собственно SetTextureStageState и SetSamplerState, которые, как вы понимаете, изобретены не мною.

К тому же все обращения к дочерним классам будут осуществляться по индексам (пример с текстурами). Короче получается что-то вроде OpenGL...
ХЎ

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.05.2005 (Сб) 13:09

Только-что качнул. Очень интересно, и главное - это надо!
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.05.2005 (Сб) 13:34

Где-то не стыкуется.
Странно, выдает деление на нуль
D3DXMatrixPerspectiveFovLH ProjMatrix, 90 * Pi / 180, 1, 0.1, 1000
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

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

Сообщение d3drm » 07.05.2005 (Сб) 13:38

Yurich писал(а):Где-то не стыкуется.
Странно, выдает деление на нуль
D3DXMatrixPerspectiveFovLH ProjMatrix, 90 * Pi / 180, 1, 0.1, 1000


реально странно... эта строка - часть DX8, так что вообще непонятно на что она может ругаться там...
ХЎ

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.05.2005 (Сб) 13:45

Ну, да, я так и подумал.
В последствии ДХ8 уйдет из референс?
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

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

Сообщение d3drm » 07.05.2005 (Сб) 13:52

Да и все мои типы, которые оканчиваются на знак подчеркивание будут без оного.

Ничего не помогает? программа все равно не работает?
ХЎ

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.05.2005 (Сб) 15:20

d3drm писал(а):Да и все мои типы, которые оканчиваются на знак подчеркивание будут без оного.

Ничего не помогает? программа все равно не работает?

Да, не работает. Собственно я сильно не копал. Сейчас занялся доводкой своей ДЛЛ по моделям, а то ребята жалуются на ошибки.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 07.05.2005 (Сб) 15:36

У меня работает
Узнать бы как нибудь производительность

Yurich писал(а):Сейчас занялся доводкой своей ДЛЛ по моделям

Если это та которую ты мне давал я тебе тоже хотел сказать
что там модели где мешей меньше чем матриц грузятся не правильно

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.05.2005 (Сб) 16:06

Bonesnapper писал(а):Если это та которую ты мне давал я тебе тоже хотел сказать что там модели где мешей меньше чем матриц грузятся не правильно

Подробнее, в личке.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

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

Сообщение d3drm » 07.05.2005 (Сб) 16:58

ОК, тем временем я уже почти закончил пример с HLSL для этой библы. Попиксельное освещение в чистом виде. Скоро будет...
ХЎ

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

Сообщение d3drm » 07.05.2005 (Сб) 18:05

Вот новая версия моей библы с примером, в котором демонстрируются шейдеры HLSL.

Изображение
ХЎ

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 07.05.2005 (Сб) 18:32

Ачуметь, даже судя по картинке! Что значит Х700 на тачке и умная голова на плечах!
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 07.05.2005 (Сб) 19:50

Круто! Даже на GeForce4 Ti4200 картинка офигенная :)
Моду создают модоки, а распространяют модозвоны.

ne_tapka
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 13.04.2005 (Ср) 23:03

Сообщение ne_tapka » 07.05.2005 (Сб) 23:40

Нужно! Автору респект!

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

Сообщение d3drm » 08.05.2005 (Вс) 10:20

спасибо за отзывы, честно говоря думал что:

1) эта штука ни у кого, кроме меня работать не будет
2) что это вообще бред и ничего из этого хорошего не получится...

Тем не менее полного перевода DX врядли удастся добиться, но я попробую переделать хотя бы графическое ядро. Кроме этого думаю при выходе новый версий DX можно будет немного подправить DLL так что в проекте с ее использованием ничего менять не потребуется...
ХЎ

ne_tapka
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 13.04.2005 (Ср) 23:03

Сообщение ne_tapka » 08.05.2005 (Вс) 10:59

d3drm
сорри за оффтопик, а известна ли хотя бы приблезительная дата (скоро/не скоро?) выхода новой версии иРендера? :)

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

Сообщение d3drm » 08.05.2005 (Вс) 22:47

ne_tapka, честно говоря я сам не знаю пока... SDK готова, но есть причины по которым я пока ее не выкладываю... Надеюсь все проблемы разрешатся в ближайшее время...
ХЎ

ne_tapka
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 13.04.2005 (Ср) 23:03

Сообщение ne_tapka » 09.05.2005 (Пн) 0:03

d3drm

SDK к новой версии или новая версия СДК к 2.0 ?

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

Сообщение d3drm » 09.05.2005 (Пн) 0:08

ne_tapka, SDK 2.5
ХЎ

След.

Вернуться в Мультимедиа

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

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

    TopList