Читаю книжку Джима Адамса http://netlib.narod.ru/library/book0051/ch02_13.htm
Проблема появилась, когда не смог понять как устранить траблу в примере http://www.gamedev.ru/files/?id=55948
Да и как перевести все это на 9-й директ, не совсем понятно
ошибки Студия выдает следующие:
Ошибка 2 error C2660: ID3DXSkinMesh::GenerateSkinnedMesh: функция не принимает 5 аргументов
Ошибка 3 error C2660: ID3DXSkinMesh::UpdateSkinnedMesh: функция не принимает 2 аргументов
Прототипов этих ф-ций нигде не смог найти.
Помогите, плз!!!
Наверное чегото не присоединил.
Вот тут эти функции есть:
C:\Program Files\Microsoft DirectX SDK (June 2010)\Samples\C++\Direct3D\SkinnedMesh
Пример походу 2оо4 года, поэтому эти функции вылетели уже или заменились на что-то другое)))
> Прототипов этих ф-ций нигде не смог найти
А правой кнопкой в студии тыкнуть и "Find all references" (ой, простите, не знаю, как оно по-русски будет) нажать ? Там прототип и найдётся.
Vinil
> А правой кнопкой в студии тыкнуть и "Find all references"
Спасибо, помогло! Тока, похоже это действительно -- какие-то изменения с этой ф-цией произошли при переходе из 8-го директа в 9-й. Чеж делать то? Сам не разберусь, уж очень я начинающий)). Книжка классная, понравился его подход. А сорцы, видать старые. Где-то на аглицком форуме видел я такой же вопрос чел задавал, про эту же книжку и про этот же сорц (по поводу перевода его на 9-й директ. Но там ему ничего вразумительного не ответили. Может у нас кто гениальный найдется?
Помогите, гении геймдева, пожалейте неофита! :)
Вот тут
http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/whatsnew.htm
написано:
ID3DXSkinMesh was renamed ID3DXSkinInfo.
Spiteful
> Вот тут
> http://doc.51windows.net/Directx9_SDK/?url=/directx9_sdk/graphics/whatsnew.htm
> написано:
>
> ID3DXSkinMesh was renamed ID3DXSkinInfo.
Спасибо Вам большое!
От беды, конечно можно и на заморском языке разобраться.
Но если бы еще эта палочка выручалочка была бы на более понятном мне языке, я бы вообще счастлив был доникуда!
Я имею ввиду вообще все инструкции, которые там даны по переводу на ДирХ9.
Но в любом случае, Спасибо Вам Большое!
vkd
> уж очень я начинающий
Книжка адамса СОВСЕМ не подходит для новичка. Там, как-никак расписана ПРОДВИНУТАЯ анимация. Ее имеет смысл читать для того, чтобы понять реализацию алгоритмов анимации и физики, но никак не для обучения директу. Да и стиль кодинга в примерах не самый лучший.
-Eugene-
> Книжка адамса СОВСЕМ не подходит для новичка. Там, как-никак расписана
> ПРОДВИНУТАЯ анимация.
В принципе, Вы правы, потому что если бы я не работал предварительно по книжке Горнакова "DirectX 9. Уроки программирования на С++", то мало что понял бы. Но насчет продвинутости в анимации, то Вы перепутали книжку, поскольку я сейчас пока потею над "Программирование ролевых игр с ДиректХ". Но если Вы можете предложить что-то более доступное и лучшее (и с работающими кодами), то я с благодарностью приму Вашу помощь.
vkd
Френк Луна, и ДХ СДК + MSDXSDK\Samples\C++\Direct3D\Tutorials
Да. похоже, чтобы перевести проект из ДирХ8 в ДирХ9, надо перелопатить немало инфы и кода. А для этого надо УЖЕ разбираться в этих премудростях. Что же делать, корифеи игростроя??
fzr125
> Френк Луна,
Есть у меня его книженция «Введение в программирование трехмерных игр с DirectX 9.0». У Вас есть личный опыт или опыт других людей, учившихся по ней и по его кодам?
Я начинал с Горнакова, потом думал по Фленову ("Искусство программирования игр на С++ (Михаил Фленов)[2006]") продолжить, но мне здесь отсоветовали, посоветовали Адамса с этой книжкой (см. посты выше).
> и ДХ СДК + MSDXSDK\Samples\C++\Direct3D\Tutorials
к сожалению, эти туториалы не заменят того, кто ПОКАЖЕТ, как собрать работающий движок.
Если бы коды Адамса были на ДирХ9-ом, я бы по нему продолжил. Мне нравится его стиль, хотя как препод, он конечно же не очень (трудно воспринимается инфа).
vkd
> Есть у меня его книженция «Введение в программирование трехмерных игр с DirectX
> 9.0». У Вас есть личный опыт или опыт других людей, учившихся по ней и по его
> кодам?
Эм... что вы имеете в виду?
> к сожалению, эти туториалы не заменят того, кто ПОКАЖЕТ, как собрать работающий
> движок.
вам поможет это, если, конечно, найдете :-)
-Eugene-
> > Есть у меня его книженция «Введение в программирование трехмерных игр с
> > DirectX
> > 9.0». У Вас есть личный опыт или опыт других людей, учившихся по ней и по его
> > кодам?
> Эм... что вы имеете в виду?
да то и имею ввиду, что люди книжки советуют, а когда по ним что то не идет, то поговорить об этом не с кем.
Сейчас попробовал скомпилить код Луны на своей Студии, и, поскольку у меня Експресс-версия, она опять, как и с примерами из других книжек, начала ругаться, вот например, одна из цитат ругани:
Ошибка 6 error LNK2005: _PVOID64 уже определен в d3dUtility.obj d3dxcreatemeshfvf.obj Luna_Mesh
причиной этому, как я уже понял, является то, что Експресс-версия не поддерживает многофайловую систему кодинга (с определениями ф-ций и классов). Я собирался обойти эту проблему впихивая их в либы и подключая эти либы к проекту. Но, чтобы прозондировать на рабочесть код из книжки, эти извращения меня не сильно вдохновляют.
Поэтому я и спрашивал, есть ли опыт работоспособности кода. Ну и плюс, понятности изложения материала, ну и другие особенности, которые могут открыться при его изучении.
-Eugene-
> > к сожалению, эти туториалы не заменят того, кто ПОКАЖЕТ, как собрать
> > работающий
> > движок.
> вам поможет это, если, конечно, найдете :-)
извините, что-то я не совсем понял, ЧТО может мне ТАМ помочь?
vkd
Да блин! Тупо открываешь проект MSDXSDK\Samples\C++\Direct3D\Tutorials\Tut06_Meshes - про тигроида - далее открываешь переводчик и начинай коментировать каждую функцию что она делает.
к примеру
//----------------------------------------------------------------------------- // Name: InitD3D() // Desc: Initializes Direct3D //-----------------------------------------------------------------------------
Меняешь на
//----------------------------------------------------------------------------- // Инициализируем Direct3D //-----------------------------------------------------------------------------
Это
// Set up the structure used to create the D3DDevice. Since we are now // using more complex geometry, we will create a device with a zbuffer.
на
// Устанавливаем параметры девайса и з-буфера
Повытирай все проверки
if( FAILED(....
и т.д. для более легкого понимания.
И т.д. Пробуй покрутить камерой. Вывести текст. Присобачить клавиатуру и мышку.
Ну а потом половина вопросов сами отпадут.
Тема в архиве.