Сообщения на форуме пользователя Andrey (165 стр.)
Матрицы и передвижения отдельных объектов | 19 сен. 2006 | 10:38 | #7 |
---|
DarkVampire
Переходи на Scene Graph потом будет легче смотри движки Ogre, Irrlicht.
Переходи на Scene Graph потом будет легче смотри движки Ogre, Irrlicht.
Зацените библиотеку | 19 сен. 2006 | 10:27 | #23 |
---|
rAvEn
>Да в общем-то кто как :) Если ты имеешь в виду Id Software, то я их исходников не видел :)
>Id вообще хитра на выдумки, не сомневаюсь, что и здесь они придумали что-нибудь необычное.
>Большинство примеров с Md5, которые я видел, рендерят "как есть", безо всяких там премудростей.
Не за что не поверю!!!!
в моделях дума будет минимум 10000 полигонов !!! теперь добавь еще сорнтировку по материалам скелетную анимацию.
и какова скорость будет если рендерить через glBegin/glEnd полубому вершинный и индексный буферы.
>Да в общем-то кто как :) Если ты имеешь в виду Id Software, то я их исходников не видел :)
>Id вообще хитра на выдумки, не сомневаюсь, что и здесь они придумали что-нибудь необычное.
>Большинство примеров с Md5, которые я видел, рендерят "как есть", безо всяких там премудростей.
Не за что не поверю!!!!
в моделях дума будет минимум 10000 полигонов !!! теперь добавь еще сорнтировку по материалам скелетную анимацию.
и какова скорость будет если рендерить через glBegin/glEnd полубому вершинный и индексный буферы.
Зацените библиотеку | 18 сен. 2006 | 18:10 | #17 |
---|
rAvEn
вот мое мыло.
>> Я думаю ситуация с Md5 изменилась в корне
>А вот и не угадал :)
очень интересно... неужели рендерят без ARB_Vertex_buffer_Object ?
вот мое мыло.
>> Я думаю ситуация с Md5 изменилась в корне
>А вот и не угадал :)
очень интересно... неужели рендерят без ARB_Vertex_buffer_Object ?
Зацените библиотеку | 18 сен. 2006 | 14:25 | #15 |
---|
rAvEn
>> Можно вместе попробывать обменятся опытом интересует загрузка MD5.
>Про загрузку MD5 можно много статей найти в буржунете.
дай ссылку хоть на одну, может плохо рыл google но натыкался тоько на MD5 алгоритм но не формат.
>> Далее интересует загрузка Md3 моделей в плане масштабирования.
>Насчет масштабирования не понял. Если ты о геометрии так что-ж тут сложного. Dot product еще никто не отменял :)
я не смог отмасштабировать модель у меня голова от туловища ренлдериться на каком-то расстоняии.
вот Я про вот это участок кода:
Еще 1 момент. Самое главное это быстро и по современному отрендерить md2, md3 модели. Насколько мне известно
под OpenGL там идет рендер через glBegin/glEnd (для Dirct3D версии у себя я сделал DrawPrimitiveUp)
т.е. надо переделать правильно рендер. Загнать это все в 1 вершинный и индексный буфер. составлять я думаю его нужно при помене анимации.
т.е. Lock/Unlock. Тут можно посмотреть в строну Cal3d(http://home.gna.org/cal3d/) там сделано именно так.) В проитианом случае будет малый FPS для этих моделей.
к примеру модель из Cal3d ренлдериться за 3-4 вызова и там несколько материалов и 3000-4000 полигонов. md2,md3 модели имею число полигонов меньше 2000 и рендеряться почти по 1 полигону!!! Я думаю ситуация с Md5 изменилась в корне.
>> Можно вместе попробывать обменятся опытом интересует загрузка MD5.
>Про загрузку MD5 можно много статей найти в буржунете.
дай ссылку хоть на одну, может плохо рыл google но натыкался тоько на MD5 алгоритм но не формат.
>> Далее интересует загрузка Md3 моделей в плане масштабирования.
>Насчет масштабирования не понял. Если ты о геометрии так что-ж тут сложного. Dot product еще никто не отменял :)
я не смог отмасштабировать модель у меня голова от туловища ренлдериться на каком-то расстоняии.
вот Я про вот это участок кода:
// For some reason, the ratio 64 is what we need to divide the vertices by, // otherwise the model is gargantuanly huge! If you use another ratio, it // screws up the model's body part position. I found this out by just // testing different numbers, and I came up with 65. I looked at someone // else's code and noticed they had 64, so I changed it to that. I have never // read any documentation on the model format that justifies this number, but // I can't get it to work without it. Who knows.... Maybe it's different for // 3D Studio Max files verses other software? You be the judge. I just work here.. :) currentMesh.pVerts[i].x = m_pVertices[i].vertex[0] / 64.0f; currentMesh.pVerts[i].y = m_pVertices[i].vertex[1] / 64.0f; currentMesh.pVerts[i].z = m_pVertices[i].vertex[2] / 64.0f; |
под OpenGL там идет рендер через glBegin/glEnd (для Dirct3D версии у себя я сделал DrawPrimitiveUp)
т.е. надо переделать правильно рендер. Загнать это все в 1 вершинный и индексный буфер. составлять я думаю его нужно при помене анимации.
т.е. Lock/Unlock. Тут можно посмотреть в строну Cal3d(http://home.gna.org/cal3d/) там сделано именно так.) В проитианом случае будет малый FPS для этих моделей.
к примеру модель из Cal3d ренлдериться за 3-4 вызова и там несколько материалов и 3000-4000 полигонов. md2,md3 модели имею число полигонов меньше 2000 и рендеряться почти по 1 полигону!!! Я думаю ситуация с Md5 изменилась в корне.
Зацените библиотеку | 18 сен. 2006 | 12:44 | #12 |
---|
rAvEn
Удали пожалуйста с архивов файлы:.ncb
.opt
.plg
Удали пожалуйста с архивов файлы:
Зацените библиотеку | 18 сен. 2006 | 12:38 | #11 |
---|
rAvEn
Можно вместе попробывать обменятся опытом интересует загрузка MD5,
смотри www.steps3d.narod.ru там Боресков готовит статью очень пригодиться.
Далее интересует загрузка Md3 моделей в плане масштабирования. А что за формат *.obj он где применяется?
Можно вместе попробывать обменятся опытом интересует загрузка MD5,
смотри www.steps3d.narod.ru там Боресков готовит статью очень пригодиться.
Далее интересует загрузка Md3 моделей в плане масштабирования. А что за формат *.obj он где применяется?
qsort() | 14 сен. 2006 | 12:50 | #8 |
---|
_vip_
ой извиняюсь чуть ошибся ;(
const
>>Легко ! Могу даже абзац из книжки effective STL выдать ! с цифрами и всем чем положено !
>Книжка это хорошо, но желательно тесты, которые применимы к геймдеву, а не ко всем областям одновременно.
на больших массивах qsort будет часть вызывать функцию сравнения, std::sort вставит алгоритм без вызова, в том числе и функцию сравнения. Для пущей уреренности объявить ее как __forceinline(Visual C++), always_inline(gcc) и все.
ой извиняюсь чуть ошибся ;(
const
>>Легко ! Могу даже абзац из книжки effective STL выдать ! с цифрами и всем чем положено !
>Книжка это хорошо, но желательно тесты, которые применимы к геймдеву, а не ко всем областям одновременно.
на больших массивах qsort будет часть вызывать функцию сравнения, std::sort вставит алгоритм без вызова, в том числе и функцию сравнения. Для пущей уреренности объявить ее как __forceinline(Visual C++), always_inline(gcc) и все.
qsort() | 14 сен. 2006 | 12:17 | #2 |
---|
lol
попробуй поменнять вот так:
попробуй поменнять вот так:
... int z1 = *reinterpret_cast<const int*>(elem1); int z2 = *reinterpret_cast<const int*>(elem2); ...
Правка забыл разименовать...
Правка: 14 сен. 2006 12:51
Преобразование координат | 12 сен. 2006 | 13:12 | #1 |
---|
integer
Projects a 3D vector from object space into screen space.
Projects a 3D vector from object space into screen space.
D3DXVECTOR3 * D3DXVec3Project(
D3DXVECTOR3 * pOut,
CONST D3DXVECTOR3 * pV,
CONST D3DVIEWPORT9 * pViewport,
CONST D3DXMATRIX * pProjection,
CONST D3DXMATRIX * pView,
CONST D3DXMATRIX * pWorld
);
Lua и таблицы. | 11 сен. 2006 | 19:49 | #13 |
---|
limk
Спасибо!! посмотрю ;)
скажу что получилось :)
Спасибо!! посмотрю ;)
скажу что получилось :)
Lua и таблицы. | 11 сен. 2006 | 14:21 | #11 |
---|
Ghost Dragon
Не заходит!!
после lua_pcall делаю lua_tostring(L, -1);
а потом твой код. Не заходит в if :(
Не заходит!!
после lua_pcall делаю lua_tostring(L, -1);
а потом твой код. Не заходит в if :(
Runtime error! (подскажите что она может означать) | 11 сен. 2006 | 9:36 | #25 |
---|
lebron
один из вариантов это т что сказал Vadun
поробуй сделать так, заверни всю работу приложения в блок try... catch:
std::exception может кинуть: контенеры STL(к примеру std::length_error), оператор new(std::bad_alloc), опретор typeid (std::bad_typeid), dynamic_cast(std::bad_cast) и многие друге бибилиотеки которые при проектировании могут создавать классы исключений наследуя от std::exception
используя этот код ты точно можешь избавиться от этого исключения и перехватить наиболее известные исключения стандартной бибилиотеки C++, в крайнем слечай ты попадешь в блок catch(...)
В среде отладки поставь опцию(Debug/Exceptions/C++ Exceptions - Break into the debugger) выходить в отладчик при возникновении сиключения и найдешь ошибку.
один из вариантов это т что сказал Vadun
поробуй сделать так, заверни всю работу приложения в блок try... catch:
#include <exception> try { .... } catch(const std::exception& ex) { fprintf(stderr, %s%s%s", "C++ exception: ", ex.what(), "\n"); } catch(...) { fprintf(stderr, %s", "Unknown Exception!!!"); }
используя этот код ты точно можешь избавиться от этого исключения и перехватить наиболее известные исключения стандартной бибилиотеки C++, в крайнем слечай ты попадешь в блок catch(...)
В среде отладки поставь опцию(Debug/Exceptions/C++ Exceptions - Break into the debugger) выходить в отладчик при возникновении сиключения и найдешь ошибку.
Lua и таблицы. | 8 сен. 2006 | 17:20 | #9 |
---|
Ghost Dragon
А как пользоваться твоим кодом? туда вообще не заходит я даже специальнос сделал ошибку.
А как пользоваться твоим кодом? туда вообще не заходит я даже специальнос сделал ошибку.
Lua и таблицы. | 8 сен. 2006 | 17:04 | #8 |
---|
Дмитрий Ясенев
>если вам выдаёт ошибку, то дайте нам описание её (runtime error - это тип ошибки, Луа выдаёт ещё и детальное описание)
действительно это помогло
я ее получил через
после вызова lua_pcall
и вот то выдало Lua API:
Description: Scripts/initlevel.lua:3: attempt to call global 'TB_Init' (a nil value)
и я понял в чем дело.
Ghost Dragon
Большое спасибо за код буду разбираться!!!
Я пока не буду тему закрывать может еще вопросы будут.
>если вам выдаёт ошибку, то дайте нам описание её (runtime error - это тип ошибки, Луа выдаёт ещё и детальное описание)
действительно это помогло
я ее получил через
lua_tostring(luaState, -1);
и вот то выдало Lua API:
Description: Scripts/initlevel.lua:3: attempt to call global 'TB_Init' (a nil value)
и я понял в чем дело.
Ghost Dragon
Большое спасибо за код буду разбираться!!!
Я пока не буду тему закрывать может еще вопросы будут.
Lua и таблицы. | 8 сен. 2006 | 15:28 | #5 |
---|
Дмитрий Ясенев
Я так делал на тестовом примере таблица инициализируеться корректно. Когда я такой способ попробывал применить к 3 массивам, то после загрузки 15 файлов с скриптами то все объекты на уровне перестали двигаться :( . Lua API выдает ту-же ошибку
A runtime error.
Я так делал на тестовом примере таблица инициализируеться корректно. Когда я такой способ попробывал применить к 3 массивам, то после загрузки 15 файлов с скриптами то все объекты на уровне перестали двигаться :( . Lua API выдает ту-же ошибку
A runtime error.