Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Скелетная анимация   Найти похожие ветки 

 
Старик   (2005-10-04 06:26) [0]

Привет кодеры
Кто-нибудь может поделиться сорцами склетеной анимации под OpenGL на языке C++/Delphi? А то уж замучался совсем!

ЗЫ: ГЛ-Сцену не предлагать - там все слишком завязано под их систему.


 
Eleepod   (2005-10-04 08:30) [1]

Попробуй посмотреть на
http://www.gamedev.ru/coding/10917.shtml
и
http://www.tmtlib.narod.ru/skeletalanimation.htm

А вообще, в Google много чего есть...


 
Старик   (2005-10-04 13:33) [2]

Спасибо, вы мне очень помогли :)


 
Георгий   (2005-10-04 13:53) [3]

Под Delphi - http://www.t800.ru/files.htm
там есть с рендером в OpenGL и DirectX, только самые первые кривые версии
Буду вопросы по скелетной анимации - пиши мне tmtlib@narod.ru, я когда-то много с этим намаялся. В принципе и под tmt pascal можешь скачать, я там обращение к pointer-ам по tmtpascal-евски делал (в скобках плюсовал к переменной смещение). Это можно переделать под delphi (сменить на массивы и т.п.), только заниматься этим некогда!


 
XProger ©   (2005-10-04 15:55) [4]

Георгий, ага попался! Что там с проектом русского RE? ;)
Помнится года 2-3 назад демку качал :)


 
Георгий   (2005-10-04 20:41) [5]

проект здесь http://www.t800.ru/
:)


 
Kavi   (2005-11-30 14:08) [6]

Может кто-знает как сделать скелетную анимацию под Directx, а точнее как использовать 256 костей а то я уже запарился. мне нормальный пример с полным кодом, а то эти отрывки в интернете в статьях ничего не дают


 
Kavi   (2005-11-30 18:36) [7]

Мастера подскажите пожалуйста


 
Kavi   (2005-11-30 19:52) [8]

почему все игнорируют


 
XProger ©   (2005-11-30 20:03) [9]

Kavi, все только что приехали с работы к жене, детям, девушкам, друзьям... им не до тебя щас ;)
А разве в SDK примеров не достаточно?


 
Kavi   (2005-11-30 21:01) [10]

у меня есть sdk в формате chm на английском для с++ и так все сухо написано что-ничего нового, а также есть примеры с http://www.clootie.ru но там тоже такие дебри, и везде все пишут как грузить целые меши для анимации и анимировать их а мне нужно так сказать на низком уровне я сам гружу свой формат объектов и хочу сделать свой формат анимации да не пойму почему не как не получается сделать 256 костей


 
П7   (2005-11-30 23:19) [11]


> Kavi   (30.11.05 21:01) [10]

А 255 костей, значит, уже научился делать? Исходнички ему подавай. Может давай я за тебя игру напишу, с издателем договорюсь, издадим её, а потом тебе бабло на блюдечке принесём. Давай? Ты ведь этого хочешь?


 
Kavi   (2005-12-01 00:03) [12]

Почему все какой-то злой умысел видят ну может и не 256 а 255 костей у меня только три кости получилось , да кому игра  вообще будет нужна написанная одним программистом с кривыми набросками моделей я об этом даже не думаю, просто самому интересно.


 
П7   (2005-12-01 00:19) [13]

Ну так раз самому интересно, то почему бы самому не попробовать разобраться? А то взяли моду, блин, чуть что не получается - тут же рвуться на форум с криками "Дайте мне исходник!"


 
Kavi   (2005-12-01 00:24) [14]

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


 
П7   (2005-12-01 02:19) [15]

Не нужно склеивать - подумай, зарисуй, пойми, как всё это должно работать - и напиши.

Это раз. Два - поискать исходники самостоятельно не мог? Я вот с ходу могу назвать тебе один ресурс, но не назову. Намекну - ты от него в 1 клике! (:


 
XProger ©   (2005-12-01 06:53) [16]

Kavi, я тебя про примеры из официального SDK спрашивал ;)


 
Kavi   (2005-12-01 09:12) [17]

delphigfx что-ли я об этом знаю есть исходник на opengl и directx так капался я вних ни сторочки не нашел на ответ, а доводы свои  напишу по скелетной анимации
вершины у меня такие
type
TCUSTOMVERTEX = packed record
   X, Y, Z : Single;//координаты
   k1,k2,k3:Single;///вес костей
    matrixIndicese:dword;//индексы костей
//nBone1,nBone2,nBone3,nBone4:byte; //или так сам не знаю
   nX, nY, nZ : Single;  ///нормали
   Color : DWORD;
   U, V : Single;////текстурные координаты
 end;
const
D3DFVF_CUSTOMVERTEX  =D3DFVF_XYZB4 or D3DFVF_LASTBETA_UBYTE4  or D3DFVF_NORMAL or   D3DFVF_TEX1  or D3DFVF_DIFFUSE;

////.. тутрисую
SetRenderState(D3DRS_INDEXEDVERTEXBLENDENABLE, dword(TRUE));
SetRenderState(D3DRS_VERTEXBLEND,D3DVBF_1WEIGHTS) ;//вообще без //панятия что здесь указывать,
SetRotateXMatrix(matRotateX,KartaOb[i2][4]);
SetRotateyMatrix(matRotateY,KartaOb[i2][5]);
SetRotatezMatrix(matRotatez,KartaOb[i2][6]);
SetTranslateMatrix(matTranslate,KartaOb[i2][1] ,KartaOb[i2][2],KartaOb[i2][3]);
SetTransform(D3DTS_WORLDMATRIX(nomkost),MatrixMul(matTranslate,MatrixMul( MatrixMul( matRotateY,matRotateX),matRotatez)));

а при заполнении вершинного буфера указываю вес первой кости   Vertices.x := Avertices[i][j][0];
         Vertices.y := Avertices[i][j][1];
         Vertices.z := Avertices[i][j][2];
         Vertices.k1:=1;
       Vertices.matrixIndicese :=2;

и не могу я управлять этой кость индексом только при нуле nomkost:=1
D3DTS_WORLDMATRIX(nomkost),
начинают перемещаться но не отвеса кости а просто как по матрице трансвормации простой, и всегда почемуто у меня кусок объекта тянется куда-то вверх в данном случае руки а именно когда указываю SetRenderState(D3DRS_INDEXEDVERTEXBLENDENABLE, dword(TRUE));


 
П7   (2005-12-01 10:13) [18]

Почему все понимают, а ты не понимаешь?


 
Kavi   (2005-12-01 12:19) [19]

Не понимаю потому-что не работает вот и все у меня хоть ход мыслей правилен или ошибка где-то есть.


 
Sapersky   (2005-12-01 14:52) [20]

Если "вообще без панятия что здесь указывать" и SDK не помогает - лучше для начала разобраться с софтверной анимацией из примера c DelphiGFX (т.е. для каждого кадра вручную просчитывается положение модели и загоняется в буфер). Чтобы понять как вообще работает скелетная анимация.
По SDK это понять действительно трудно, т.к. там описывается аппаратная анимация. Что-то засунул на вход, что-то на выходе получилось. Как получилось - фиг знает :) А в указанном примере все преобразования можно отследить по исходнику.


 
Kavi   (2005-12-01 19:11) [21]

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


 
Kavi   (2005-12-02 18:15) [22]

Неужели никто не знает, подскажите пожалуйста!!!!


 
Sapersky   (2005-12-02 18:44) [23]

Стало быть, не знают, раз молчат - вряд ли только из вредности :)
Я вот тоже не знаю, но скажу :)
Во-первых, следи, чтобы описание FVF соответствовало реальной структуре.
Ещё, такое впечатление, что у тебя все виды анимаций перемешаны. Попробуй для начала без indexed vertex blending. То, что без него можно всего 3 кости - это вряд ли; я так понимаю - за один вызов можно отрендерить фрагмент модели с 3 костями. Всего костей, допустим, штук 30 - значит, рисуем модель за 10 циклов. На высокополигональных моделях должно быть быстрее, чем блокировка буфера.
Кстати, в примере из SDK, насколько помню, обычная аппаратная анимация работала быстрее indexed. Хотя, может, это у меня на старой карте (GF2) indexed толком не поддерживается, поэтому и тормозит.


 
Kavi   (2005-12-02 19:24) [24]

Стоп три кости это аппаратная анимация а indexed  не аппаратнаю что-ли так выходит, три кости у меня без проблем работает, только если по кускам модель резать как-то не хорошо выходит больше придется вызывать drawprimitive больше тормозов, да и еще наверно много глюков повалит



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

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.041 c
1-1152541631
LeXaXaXa
2006-07-10 18:27
2006.08.27
Как перехватить сообщение закрытия окна?


15-1154277710
Сатир
2006-07-30 20:41
2006.08.27
Ищуются исходники какого-нить каталога


1-1153126986
SQL-PROGRAMMER
2006-07-17 13:03
2006.08.27
Почему сами перекомпилируются другие пакеты?


3-1150754694
YuraKiller2
2006-06-20 02:04
2006.08.27
Работа с удалённой базой


6-1144603398
Izolda
2006-04-09 21:23
2006.08.27
Поисковая система