Visual Basic 6 + DX9, новая возможность. - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Страница 1 из 11
Форум » Программирование » Общее » Visual Basic 6 + DX9, новая возможность.
Visual Basic 6 + DX9, новая возможность.
MikleДата: Воскресенье, 13.09.2009, 11:31 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 26
Награды: 1
Репутация: 2
Статус: Offline
Я много лет программировал на Visual Basic 6, очень обрадовался в своё время выходу SDK для него под DX7 и DX8. Я даже начал писать книгу, была договорённость с издателем.
А потом Микрософт сделала неожиданный ход - в Висте (и далее в семёрке) DX7 и DX8 представлены не полностью - отсутствуют DLL, необходимые для работы именно с Visual Basic 6 (dx7vb.dll и dx8vb.dll). Установка DX не помогает, DLL можно перенести вручную, но их нужно регистрировать из-под админа, да и вообще, это незаконно (распространять какие-либо части DX отдельно от него). Книга осталась недописанной, лежит тут в статьях.
Это был маркетинговый ход, Микрософт хочет нас пересадить на NET, не то, чтобы vb.net или C# мне не нравились, наоборот, отличные языки. Но писать казуалку, которая требует фреймворк, XNA (или какой-нибудь SlimDX) ещё время не пришло, да и придёт ли...
Короче, я решил портировать DX9 на VB6. Полный порт я делать не собираюсь, для начала только части D3D и DirectSound, необходимые для самых простых ф-ций, и которых будет достаточно для простых игр. Для работы нужна всего одна маленькая нативная DLL, не требующая регистрации и, конечно, установленый DX9 не раньше марта 2008 (dx9_37.dll).
Далее буду добавлять по желанию более продвинутые вещи, в первую очередь шейдеры и эффекты, предложения принимаются.
На данный момент реализовано:
Инициализация D3DDevice, его основные методы - SetRenderState, SetSamplerState, SetTextureStageState и т. д. Есть свет, материалы, текстуры (пока только 2D), трансформации, есть математика векторов и матриц. С работой можно ознакомиться тут:
http://tuapse-mikle.narod.ru/dx9vb.zip
Кому интересно - жду предложения, багрепорты.
 
SashaRХДата: Понедельник, 14.09.2009, 15:07 | Сообщение # 2
Рядовой
Группа: Администраторы
Сообщений: 11
Награды: 0
Репутация: 0
Статус: Offline
Mikle, Интересное развитие, буду ждать очередных новостей, свет в демке понравился.
 
MikleДата: Среда, 21.10.2009, 11:06 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 26
Награды: 1
Репутация: 2
Статус: Offline
Обновил, переименовал проект в DX_VB, так как для звука задействован DX8. Есть примеры, в том числе скомпилированные.
http://tuapse-mikle.narod.ru/dx_vb.zip
165 кБ.

Добавлено (17.10.2009, 16:49)
---------------------------------------------
Избавился от D3DX9_XX.dll, написал загрузчик текстур (пока простой), есть вся d3dx8 математика, рендер в текстуру и многое другое.
http://tuapse-mikle.narod.ru/dx_vb.zip

Добавлено (21.10.2009, 11:06)
---------------------------------------------
Небольшая демка:
http://tuapse-mikle.narod.ru/World.zip
управление:
стрелки или WASD - перемещение,
мышь - обзор,
I - инверсия,
Home, End, Delete, PgDn - позиция солнца.

 
Форум » Программирование » Общее » Visual Basic 6 + DX9, новая возможность.
Страница 1 из 11
Поиск: