Сообщения на форуме пользователя Andrey (114 стр.)
SetTextureStageState. помогите пофиксить багу с маской. | 8 фев. 2008 | 16:50 | #2 |
---|
progman
может проще в шейдере это сделать? не спроста аналога IDirect3DDevice9::SetTextureStageState нет в Direct3D10
может проще в шейдере это сделать? не спроста аналога IDirect3DDevice9::SetTextureStageState нет в Direct3D10
Проблема с CreateOffscreenPlainSurface | 8 фев. 2008 | 12:24 | #2 |
---|
Denis1986
так проверял ?
так проверял ?
Скелетная анимация. Проблема в экспортере или в коде обновления? | 7 фев. 2008 | 11:32 | #15 |
---|
0r@ngE
ну с этим то все ок у меня.
ну с этим то все ок у меня.
// Получение локальной матрицы трансформации Matrix3 tm = node->GetObjTMAfterWSM(i->GetTime()); .... Matrix3 rot = tm; rot.NoTrans(); rot.NoScale(); .... // получение нормали curVertex.normal = GetVertexNormal(mesh, j, index, rot); //Получить нормаль к вершине Point3 ModelSaver::GetVertexNormal(Mesh& mesh, int faceNo, int vertexIndex, const Matrix3& rot) const { if (faceNo >= mesh.getNumFaces()) { return Point3(0.0f, 0.0f, 0.0f); } // Получение RVertex RVertex& rv = mesh.getRVert(vertexIndex); // Получить грань Face& face = mesh.faces[faceNo]; // Группа сглаживания DWORD smGroup = face.getSmGroup(); // Число нормалей int numNormals = 0; Point3 vertexNormal; // Данное определение еще не используется, // но может быть определена в следующих версиях if (rv.rFlags & SPECIFIED_NORMAL) { vertexNormal = rot * rv.rn.getNormal(); } // Проверка нормали для группы сглаживания else if ((numNormals = rv.rFlags & NORCT_MASK) && smGroup) { // Если есть 1 вершина найденная в Классе rn if (1 == numNormals) { vertexNormal = rot * rv.rn.getNormal(); } else { // Ищется та нормаль которая входит в ту-же группу сглаживания // что и нормали указктеля ern класса RNormal. // В этом случае найдется множество нормалей for (int i = 0; i < numNormals; i++) { if (rv.ern[i].getSmGroup() & smGroup) { vertexNormal = rot * rv.ern[i].getNormal(); } } } } else { // Последний вариант получения нормали это нормаль к гране // содержащей вершину vertexNormal = rot * mesh.getFaceNormal(faceNo); } vertexNormal.Normalize(); return vertexNormal; } |
pugiXML :( | 7 фев. 2008 | 10:38 | #15 |
---|
Ghost2
спасибо гляну...
спасибо гляну...
Скелетная анимация. Проблема в экспортере или в коде обновления? | 7 фев. 2008 | 10:37 | #13 |
---|
gorus13
>ага даешь всем модельку из коммерческого проекта :) ... А кто то бумаги подписывал об авторских правах....
ты чего херню несешь? Сам понял что сказал? Никому ничего давать не собираюсь. В комерческих целях ничего не использую. Ценю труд того кто, ее сделал.
Тебе не надоело цепляться?
Guyver
>в максе всегда были какие то оговорки по матрицам (строка, столбец) ...
ты имеешь ввиду транспонировать?
а где почитать про это?
>ну ты помниш что их транслейтить не нада ага ?
а по подробней?
Сделал обновление в качалке.(нашел пару ошибок в экспортер) Нажав на букву "I", "i" можно глянуть работу без расчета иерархии и с ней. Почему-то слетают немного положения с костей.
Но результат уже лучше.
Тут узнал что нужно множить на инверсную матрицу первого кадра все матрицы. Если это делать при загрузке то модель немного съезжает при анимации.
>ага даешь всем модельку из коммерческого проекта :) ... А кто то бумаги подписывал об авторских правах....
ты чего херню несешь? Сам понял что сказал? Никому ничего давать не собираюсь. В комерческих целях ничего не использую. Ценю труд того кто, ее сделал.
Тебе не надоело цепляться?
Guyver
>в максе всегда были какие то оговорки по матрицам (строка, столбец) ...
ты имеешь ввиду транспонировать?
а где почитать про это?
>ну ты помниш что их транслейтить не нада ага ?
а по подробней?
Сделал обновление в качалке.(нашел пару ошибок в экспортер) Нажав на букву "I", "i" можно глянуть работу без расчета иерархии и с ней. Почему-то слетают немного положения с костей.
Но результат уже лучше.
Тут узнал что нужно множить на инверсную матрицу первого кадра все матрицы. Если это делать при загрузке то модель немного съезжает при анимации.
pugiXML :( | 6 фев. 2008 | 19:49 | #7 |
---|
Ghost2
а файлы большие были?
ух. ты спасибо надо поменять либу... а там как мног переделывать придется c tinyXML на pugiXML?
а файлы большие были?
ух. ты спасибо надо поменять либу... а там как мног переделывать придется c tinyXML на pugiXML?
pugiXML :( | 6 фев. 2008 | 18:56 | #4 |
---|
BeInspired
Ghost2
извиняюсь вопрос не по теме, pugiXML лучше TinyXML ?
Ghost2
извиняюсь вопрос не по теме, pugiXML лучше TinyXML ?
Скелетная анимация. Проблема в экспортере или в коде обновления? | 6 фев. 2008 | 18:34 | #9 |
---|
0r@ngE
спасибо за тест. Буду дальше ковырять
спасибо за тест. Буду дальше ковырять
Скелетная анимация. Проблема в экспортере или в коде обновления? | 6 фев. 2008 | 16:27 | #7 |
---|
0r@ngE
а так все видно ? камерой подлети поближе, это тестовый проект там не камеры нормальной нет не ввода/ввода.
еще в шейдере можно закоментить TRANSFORM максос и нажать "T"/"t" в этом случае анимация будет софтварной.
а так все видно ? камерой подлети поближе, это тестовый проект там не камеры нормальной нет не ввода/ввода.
еще в шейдере можно закоментить TRANSFORM максос и нажать "T"/"t" в этом случае анимация будет софтварной.
Скелетная анимация. Проблема в экспортере или в коде обновления? | 6 фев. 2008 | 16:19 | #5 |
---|
Итак после долгих поисков ошибок результаты улучшились. Нашел ошибки по назначению для вершин весов и индексов.
Вот скрин результата.
вот демка.
http://www.gamedev.ru/download/?id=6753
вот так переделал экспорт анимации: Где еще может быть ошибка?
Вот скрин результата.

вот демка.
http://www.gamedev.ru/download/?id=6753
вот так переделал экспорт анимации: Где еще может быть ошибка?
Правка: 7 фев. 2008 10:28
Загрузка текстур из файлов для использования в D3D9. | 6 фев. 2008 | 16:00 | #8 |
---|
antber
>Только мульти-АПИ маньяки против d3dx.
ну почему-же
>Только мульти-АПИ маньяки против d3dx.
ну почему-же
Загрузка текстур из файлов для использования в D3D9. | 6 фев. 2008 | 15:59 | #7 |
---|
UltraDruid
>А что, исходники Fear тоже где-то можно скачать?
ну зачем скачивать? можешь exe файл глянуть что за функции он экспортит из D3DX9_3*.dll как минимум будут юзать D3DXAssembleShader/D3DXCompileShader
>А что, исходники Fear тоже где-то можно скачать?
ну зачем скачивать? можешь exe файл глянуть что за функции он экспортит из D3DX9_3*.dll как минимум будут юзать D3DXAssembleShader/D3DXCompileShader
Загрузка текстур из файлов для использования в D3D9. | 6 фев. 2008 | 15:28 | #3 |
---|
UltraDruid
Готика, Fear и много других.
Готика, Fear и много других.
Дамп памяти и т.п. | 6 фев. 2008 | 14:05 | #13 |
---|
Executor
WinDbg скачай, почитай Help, може там что найдешь интересного.
WinDbg скачай, почитай Help, може там что найдешь интересного.
char или std::string | 5 фев. 2008 | 17:32 | #14 |
---|
antber
>Так этот список объявлялся локально в функции, вызываемой каждый раз для каждого меша каждый кадр. Производительность катастрофически падала! Я невзлюбил >STL еще больше почему то... Понял одно: без знания того как устроен любой из объектов в STL, лучше их не использовать.
вместо std::list сделать std::vector и вынести его в члены класса. Далее на каждом кадре делать resize(0) тогда память не будет перевыделяться. И полюбишь ты STL тогда.
А строки ясен перец нефиг в Real Time парсить.
>Так этот список объявлялся локально в функции, вызываемой каждый раз для каждого меша каждый кадр. Производительность катастрофически падала! Я невзлюбил >STL еще больше почему то... Понял одно: без знания того как устроен любой из объектов в STL, лучше их не использовать.
вместо std::list сделать std::vector и вынести его в члены класса. Далее на каждом кадре делать resize(0) тогда память не будет перевыделяться. И полюбишь ты STL тогда.
А строки ясен перец нефиг в Real Time парсить.