Сообщения на форуме пользователя Andrey (207 стр.)
DirectX10. кто что знает? | 7 дек. 2005 | 23:38 | #74 |
---|
опять война...
все Api хороши и OpenGL и Direct3D
че тут страдать глупыми сопрами... ни как не пойму
все Api хороши и OpenGL и Direct3D
че тут страдать глупыми сопрами... ни как не пойму
OpenGl Screenshot | 6 дек. 2005 | 23:32 | #28 |
---|
Ronin
тода ты прав свое писать надо...
тода ты прав свое писать надо...
OpenGl Screenshot | 6 дек. 2005 | 16:51 | #24 |
---|
Ronin
>Нет так нельзя.
>Надо прямым гл-ем и его экстами, использование сторонних либ крайне нежелательно тк несёт за собой большую волокиту.
зря а волокит нет особых...
>Нет так нельзя.
>Надо прямым гл-ем и его экстами, использование сторонних либ крайне нежелательно тк несёт за собой большую волокиту.
зря а волокит нет особых...
OpenGl Screenshot | 5 дек. 2005 | 20:56 | #18 |
---|
Ronin
А так тебя не устроит с использованием DevIL(OpenIL)?
Правка теги
А так тебя не устроит с использованием DevIL(OpenIL)?
//перед этим проинициализировать: [code = cpp] ilutRenderer(ILUT_OPENGL); // созданипе скриншота bool OpenGLRender::CreateScreenShot(const string& filename) const //создаем скриншот для OpenGL окна ilutGLScreen(); //удалить на всякий случай remove(filename.c_str()); //сохраняем файл int res = ilSaveImage(const_cast<const ILstring>(filename.c_str())); if (!res) { //Получение кода ошибки int err = ilGetError(); //Если код не равен нулю ошибка была if (err != IL_NO_ERROR) { //Получение строки с ошибкой const char* strError = iluErrorString(err); //добавить сообщение OutMessage(Console::ERROR_MESSAGE, " Ошибка: %s%s", strError, "\n"); return false; } } return true; }
Правка: 5 дек. 2005 21:00
Почему в C++ многие не пользуются exception'aми ??? | 3 дек. 2005 | 19:43 | #182 |
---|
Надо подписаться :) ого раздули.
вообще исключения хорошая вещь но если можно обойтись пару раз if то они возможно не нужно...тут ситуации бывают токие...я лично их использую...
вообще исключения хорошая вещь но если можно обойтись пару раз if то они возможно не нужно...тут ситуации бывают токие...я лично их использую...
LUA - как получить список всех идентификаторов | 30 ноя. 2005 | 17:48 | #1 |
---|
Timm
Пригодиться твой вопрос, подпишусь...
Пригодиться твой вопрос, подпишусь...
OpenIL загрузка TGA, проблема с цветностью изображения | 30 ноя. 2005 | 13:26 | #2 |
---|
DestroYerz
после загрузки попробуй:
почитай мою статью и форум к статье там есть описание этой проблемы
http://www.gamedev.ru/articles/?id=70123
после загрузки попробуй:
int Format = ilGetInteger(IL_IMAGE_FORMAT); if (Format == IL_BGR || Format == IL_BGRA) iluSwapColours();
http://www.gamedev.ru/articles/?id=70123
Глюки с подключением расширения! :(( | 28 ноя. 2005 | 11:44 | #14 |
---|
glProger
ну понятно кому хочеться заморачиваться, а кому нужен результат применения расширений без проникновения в их детали их инициализации...
ну понятно кому хочеться заморачиваться, а кому нужен результат применения расширений без проникновения в их детали их инициализации...
Глюки с подключением расширения! :(( | 27 ноя. 2005 | 23:21 | #12 |
---|
All
А почему бы не использовать для расширений бибилиотеку glew ?
очень удобно и ни каких указателей и т.д.. только glewInit() и все!!!
http://filez.nnm.ru/programmers_land/05.05.2005/the_opengl_extens… raryglew_132/
попробуйте не пожалеете.. это хорошая обертка вокруг инициализации расширений OpenGL.
А почему бы не использовать для расширений бибилиотеку glew ?
очень удобно и ни каких указателей и т.д.. только glewInit() и все!!!
http://filez.nnm.ru/programmers_land/05.05.2005/the_opengl_extens… raryglew_132/
попробуйте не пожалеете.. это хорошая обертка вокруг инициализации расширений OpenGL.
Корректная обработка результатов столкновения камеры и объектов сцены | 27 ноя. 2005 | 23:18 | #18 |
---|
Ну больше ничего нельзя предложить?
может как-тосо скоростью увязать и масштабом?
может как-тосо скоростью увязать и масштабом?
Корректная обработка результатов столкновения камеры и объектов сцены | 25 ноя. 2005 | 21:18 | #17 |
---|
Gaco
>В смысле летает? У тебя в projection(const Vector3D &v1,const Vector3D &v2) дот продукт, что бы косинус получить >правильный и v1 и v2 должны иметь длину 1.0.
все это я пробовал делать v1 - сделал нормализованным т.е. projX0Z
>А если дальше глючит, то ставь ассершены и дебаж. Может у тебя вобще в другом месте неправильно позиция >устанавливаеться.
стало чуть получше но не всегда корректьно работает т.е. вроде скользит если по столбу или строго по сплошной стене под малым углом(почти вдоль ее) но отбразывает сильно
что еще можно предложить?
>В смысле летает? У тебя в projection(const Vector3D &v1,const Vector3D &v2) дот продукт, что бы косинус получить >правильный и v1 и v2 должны иметь длину 1.0.
все это я пробовал делать v1 - сделал нормализованным т.е. projX0Z
>А если дальше глючит, то ставь ассершены и дебаж. Может у тебя вобще в другом месте неправильно позиция >устанавливаеться.
стало чуть получше но не всегда корректьно работает т.е. вроде скользит если по столбу или строго по сплошной стене под малым углом(почти вдоль ее) но отбразывает сильно
что еще можно предложить?
Корректная обработка результатов столкновения камеры и объектов сцены | 25 ноя. 2005 | 13:16 | #15 |
---|
Юлиан
>ты проверяешь может ли камера переместиться
это и есть та самая проверка...
что то я не пойму почему варианты не надо делать...
Gaco
вроде пробовал.. но камера так летает!
>ты проверяешь может ли камера переместиться
это и есть та самая проверка...
что то я не пойму почему варианты не надо делать...
Gaco
вроде пробовал.. но камера так летает!
Корректная обработка результатов столкновения камеры и объектов сцены | 25 ноя. 2005 | 2:21 | #12 |
---|
Я приведу кусок кода поясняющий что я делаю.
что скажете? что у меня не правильно?
когда мы нашли полигон который попадает в Bounding Box камеры
тогда:
.... Plane plane; // плоскость //расчитываем плоскость (код упрощен в плане подстановки вершин полигона) через 3 точки полигона v0,v1,v2 plane.computePlane(v0, v1, v2); //далее: находим проекцию вектора взгляда камеры на плоскость земли, т.е. это то-же вектор,но его координата Y = 0; Vector3D projX0Z(camera.GetDirection().x, 0.0f, camera.GetDirection().z); //проекция вектора projX0Z на плоскость полигона Vector3D v = projection(projX0Z, plane.GetNormal()); v = v / 2.0f; //делам вектор поменьше... camera.SetPosition(camera.GetPosition() + v);//это ноавое положение камеры //итак вот дополнительно класс плоскости в пространстве: #ifdef _WIN32 #define INLINE __forceinline #else #define INLINE inline #endif class Plane {//Плоскость в 3-мерном пространстве a*x + b*y + c*z + d = 0 private: //Дистанция по нормале от начала координат float dist; //Нормаль к плоскости Vector3D normal; public: //... //Формироаниея уравнения плоскости по 3 точкам //(Расчет нормали и расстояния до начала координат по нормали) INLINE void computePlane(const Vector3D& p1, const Vector3D& p2, const Vector3D& p3) { Vector3D v = (p2 - p1); normal = v * (p3 - p1); normal.Normalize(); //вычичсление дистанции из уравнения //A*x + B*y + C*z + dist = 0; //dist = -(A*x + B*y + C*z); dist = - dotProduct(normal, v); } }; //Поекция вектора v1 на плоскость перпендикулярную вектору v2,out - результат INLINE Vector3D projection(const Vector3D &v1,const Vector3D &v2) { Vector3D out; out = v1 - v2 * dotProduct(v1,v2); out.Normalize(); return out; } |
Корректная обработка результатов столкновения камеры и объектов сцены | 24 ноя. 2005 | 14:02 | #10 |
---|
Scart
Дак это будет не очень просто 4 варианта движения и столько -же раз пересчитать пересечение Bounding Box'а камеры...
разве нет?
Дак это будет не очень просто 4 варианта движения и столько -же раз пересчитать пересечение Bounding Box'а камеры...
разве нет?
Корректная обработка результатов столкновения камеры и объектов сцены | 23 ноя. 2005 | 21:47 | #8 |
---|
Юлиан
Это довольно сложно сделать сам подумай: нужно просчитать все четыре варианта вектора перемещения камеры(куда она передвинеться вперед назад влево вправо?) присвоить новое положение Bounding Box'у пересчитаь все 4 варианта на пересечение и только тогда выставить несколько флагов из 4, в зависимости от результатов запрещающих двигать камеру в каком-то направлении на следующий шаг, и это еще и медленно..
Gaco
>Может получиться так что ни текущее положение камеры, ни следующее не попадёт в ббокс (маленький ббокс, высокая >скорость) и будешь просто пролетать через обьекты.
спасибо теперь понял...
>Если ещё не читал, то почитай статьи на этом сайте: Графика-Коллижн Детекшн.
конечно читал и не тольео тут.. с простыми вещами все работает... а со сложной геометрией нет.. если есть в сцене 1 спложная стена то все ок...
Это довольно сложно сделать сам подумай: нужно просчитать все четыре варианта вектора перемещения камеры(куда она передвинеться вперед назад влево вправо?) присвоить новое положение Bounding Box'у пересчитаь все 4 варианта на пересечение и только тогда выставить несколько флагов из 4, в зависимости от результатов запрещающих двигать камеру в каком-то направлении на следующий шаг, и это еще и медленно..
Gaco
>Может получиться так что ни текущее положение камеры, ни следующее не попадёт в ббокс (маленький ббокс, высокая >скорость) и будешь просто пролетать через обьекты.
спасибо теперь понял...
>Если ещё не читал, то почитай статьи на этом сайте: Графика-Коллижн Детекшн.
конечно читал и не тольео тут.. с простыми вещами все работает... а со сложной геометрией нет.. если есть в сцене 1 спложная стена то все ок...