Сообщения на форуме пользователя Andrey (212 стр.)
Прошу Оценить Octree-дерево + столкновения | 29 июля 2005 | 19:01 | #5 |
---|
All
Сделал обновление стало лучше управление мышью но в некоторых местах еще есть проходы сквозь группу полигонов..
прошу еще раз оценить.
Сделал обновление стало лучше управление мышью но в некоторых местах еще есть проходы сквозь группу полигонов..
прошу еще раз оценить.
Сопаставление массивов констант для альфа-блендинга в OpenGL и Direct3D | 29 июля 2005 | 18:42 | #6 |
---|
Mightimus
>Тебе не нужно два массива для DX только один, т.к. они будут идентичны
как так такое может, если некоторые значения из первого массива не входят в допустимые значения первого параметра метода SetRenderState я смотрел DirectX SDK
>Тебе не нужно два массива для DX только один, т.к. они будут идентичны
как так такое может, если некоторые значения из первого массива не входят в допустимые значения первого параметра метода SetRenderState я смотрел DirectX SDK
Прошу Оценить Octree-дерево + столкновения | 28 июля 2005 | 20:28 | #3 |
---|
gvm
1)проверка столкновений только с полигонами листа. а FPS то отоброжается...
2)не хотел DirectInput'ом загружать код.
3) еще надо дорабатывать...
4) это все потом
1)проверка столкновений только с полигонами листа. а FPS то отоброжается...
2)не хотел DirectInput'ом загружать код.
3) еще надо дорабатывать...
4) это все потом
Организация буфферов (вершинны, текстур. коорд. ...) в движке DirectX9. | 28 июля 2005 | 19:30 | #6 |
---|
frol
Привет!! у меня уже наверное появится данная проблема в узлах Octree дерева уже много будет буфферов ходь для Direct3D и OpenGL без разницы факт что будет частая смена...
Привет!! у меня уже наверное появится данная проблема в узлах Octree дерева уже много будет буфферов ходь для Direct3D и OpenGL без разницы факт что будет частая смена...
Сопаставление массивов констант для альфа-блендинга в OpenGL и Direct3D | 28 июля 2005 | 19:16 | #4 |
---|
Mightimus
дело в том что я пытаюсь сделать универсальный рендер
и поэтому хочу сделать так:
где render это указатель интерфейс.
а конкретном рендере уже по по переданным параметрам будет выбиратся значения с массивов.
>Есть веть IDirect3DStateBlock9
поэтому вот эта вещь мне не поможет :(
мне нужно заполнить первый массив для Direct3D по аналогии с OpenGL и со строгим соответсвием смысла и порядка следования констант.
дело в том что я пытаюсь сделать универсальный рендер
и поэтому хочу сделать так:
render -> BlendFunc(sfactor, dfactor);
а конкретном рендере уже по по переданным параметрам будет выбиратся значения с массивов.
>Есть веть IDirect3DStateBlock9
поэтому вот эта вещь мне не поможет :(
мне нужно заполнить первый массив для Direct3D по аналогии с OpenGL и со строгим соответсвием смысла и порядка следования констант.
Организация столкновений на основе Octree-дерева | 28 июля 2005 | 19:08 | #9 |
---|
Uranius, D.Rider
Спасибо всем у меня все получилось!!!я сделал проверку BBoх'а камеры с полигонами узла. перед этим проверяю пересеклась ли камера с BBox'ом узла, только после этого с полигонами...
прошу заценить:
http://www.gamedev.ru/forum/?group=0&topic=18529
остальное обсуждение предлагаю продолжить в ветке форума ссылвка которой выше.
тема закрыта.
Спасибо всем у меня все получилось!!!я сделал проверку BBoх'а камеры с полигонами узла. перед этим проверяю пересеклась ли камера с BBox'ом узла, только после этого с полигонами...
прошу заценить:
http://www.gamedev.ru/forum/?group=0&topic=18529
остальное обсуждение предлагаю продолжить в ветке форума ссылвка которой выше.
тема закрыта.
Прошу Оценить Octree-дерево + столкновения | 28 июля 2005 | 19:00 | #0 |
---|
Привет всем!
Сделал я наконец Octree дерево.Также реализовал столкновения камеры с полигональной моделью.
вот ссылка:
часть 1: http://www.gamedev.ru/download/?id=2830
часть 2: http://www.gamedev.ru/download/?id=2831
Принимается любая критика(ну правда не грубая) пожеланя а это точно будет, улучшения и т.д.
Скажу сразу качество графики не очень, упор я делал на построения дерева и столкновений.
прошу если не сложно указать системные параметры компьютера на котором проводился тест текущий FPS наличие тормозов и т.д.
Демка сомпилирована на Visual C++ .Net используется OpenGL в движке работает и с Direct3D
Используемые клавиши:
С - вкл/отк проверки столкновений;
F - вкл/отк пермешения камеры по оси 0Y;
O - смена рендера сцены прямой/через Octree для сравнения;
B - вкл/отк отрисовки узлов Octree - дерева (для отладки);
Показывается статистика выводиых полигонов, так и общее количество полигонов.
в файл setup.cfg в первой строчке указывается путь к файлу к зангружаемым сценам.
Для тех кто хочет протестировать с большим уровнем.
вот ссылка для большого уровня 69153 полигона:
Часть 1: http://www.gamedev.ru/download/?id=2826
Часть 2: http://www.gamedev.ru/download/?id=2829
Часть 3: http://www.gamedev.ru/download/?id=2832
Нужно скопировать содержимое в папку где исполняемый файл, и прописать путь к файлу с расширением *.lev
Спасибо всем заранее.
С уважением Андрей.
Сделал я наконец Octree дерево.Также реализовал столкновения камеры с полигональной моделью.
вот ссылка:
часть 1: http://www.gamedev.ru/download/?id=2830
часть 2: http://www.gamedev.ru/download/?id=2831
Принимается любая критика(ну правда не грубая) пожеланя а это точно будет, улучшения и т.д.
Скажу сразу качество графики не очень, упор я делал на построения дерева и столкновений.
прошу если не сложно указать системные параметры компьютера на котором проводился тест текущий FPS наличие тормозов и т.д.
Демка сомпилирована на Visual C++ .Net используется OpenGL в движке работает и с Direct3D
Используемые клавиши:
С - вкл/отк проверки столкновений;
F - вкл/отк пермешения камеры по оси 0Y;
O - смена рендера сцены прямой/через Octree для сравнения;
B - вкл/отк отрисовки узлов Octree - дерева (для отладки);
Показывается статистика выводиых полигонов, так и общее количество полигонов.
в файл setup.cfg в первой строчке указывается путь к файлу к зангружаемым сценам.
Для тех кто хочет протестировать с большим уровнем.
вот ссылка для большого уровня 69153 полигона:
Часть 1: http://www.gamedev.ru/download/?id=2826
Часть 2: http://www.gamedev.ru/download/?id=2829
Часть 3: http://www.gamedev.ru/download/?id=2832
Нужно скопировать содержимое в папку где исполняемый файл, и прописать путь к файлу с расширением *.lev
Спасибо всем заранее.
С уважением Андрей.
Правка: 21 дек. 2005 19:20
Сопаставление массивов констант для альфа-блендинга в OpenGL и Direct3D | 28 июля 2005 | 18:41 | #2 |
---|
st0ke
>Вот так: SetRenderState (здесь я не помню что), D3DRS_SRCBLENDALPHA, D3DBLEND_SRCALPHA
>и SetRenderState (здесь я не помню что), D3DRS_DESTBLENDALPHA, D3DBLEND_INVSRCALPHA
дак тут все 9 параметров можно передавать т.е. не только вот эти что ты пересчислил:
D3DRS_SRCBLENDALPHA, D3DBLEND_SRCALPHA, D3DRS_DESTBLENDALPHA, D3DBLEND_INVSRCALPHA.
но как заполнить первый массив до конца?
>Вот так: SetRenderState (здесь я не помню что), D3DRS_SRCBLENDALPHA, D3DBLEND_SRCALPHA
>и SetRenderState (здесь я не помню что), D3DRS_DESTBLENDALPHA, D3DBLEND_INVSRCALPHA
дак тут все 9 параметров можно передавать т.е. не только вот эти что ты пересчислил:
D3DRS_SRCBLENDALPHA, D3DBLEND_SRCALPHA, D3DRS_DESTBLENDALPHA, D3DBLEND_INVSRCALPHA.
но как заполнить первый массив до конца?
Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL | 28 июля 2005 | 18:34 | #4 |
---|
Uranius
L00bis
Сделал я glVertexPointer:
или:
Ничего не помогает
L00bis
Сделал я glVertexPointer:
glVertexPointer(3, GL_FLOAT, sizeof(Vector3D), array);
glVertexPointer(3, GL_FLOAT, 0, array);
Сопаставление массивов констант для альфа-блендинга в OpenGL и Direct3D | 27 июля 2005 | 20:39 | #0 |
---|
Привет всем!!!
имеет 2 параметра
для них я создал массив
первый параметр:
второй параметр:
так теперь я хочу сделать аналогичный массив с такими же эквивалентным расположением констант для Direct3D.
Для заполнения массивов в Direct3D руководствовался вот этими структрурами из DirectX 9.0 SDK, и посмыслу и порядку следования попытался выбрать эквивалентные константы похожие на OpenGL.
для первого параметра вот этой структурой:
для второго параметра вот это структурой:
только тогда для задания прозрачности стоит вызвать метод
SetRenderState с двумя параметрами надеюсь этол понятно.Итак вот 2 массива констант для Direct3D, проблема что я некоторых не нашел, вот и спрашиваю как их сопоставить.
первый параметр:
для второго параметр этот массив заполнил:
Итак надеюсь проблема понятна? второй массив в OpenGL и Direct3D по смыслу по идее один в один, но для первого массива я не смог найти все константы эквивалентные OpenGL константам:(
Скажите как до конца заполнить(заменить нули) массив sfactorArray для Direct3D?
правильно ли я по смыслу сопоставил константы для обоих API?
Спасибо всем заранее.
С уважением Андрей.
мне надо сопаставить константы для задания альфа функции для OpenGL и Direct3D
иными словами составить эквивалентный массивы и заполнить их поэлементо значениями констант соответсвующих API.Поясняю практически.В OpenGL есть функция
glBlendFunc
для них я создал массив
первый параметр:
//допустимые значения первого параметра функции glBlendFunc static unsigned int sfactorArray[] = { GL_ZERO, GL_ONE, GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_SRC_ALPHA_SATURATE };
//допустимые значения второго параметра функции glBlendFunc static unsigned int dfactorArray[] = { GL_ZERO, GL_ONE, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA };
Для заполнения массивов в Direct3D руководствовался вот этими структрурами из DirectX 9.0 SDK, и посмыслу и порядку следования попытался выбрать эквивалентные константы похожие на OpenGL.
для первого параметра вот этой структурой:
typedef enum _D3DRENDERSTATETYPE { ....//очень много полей... } D3DRENDERSTATETYPE;
typedef enum _D3DBLEND { D3DBLEND_ZERO = 1, D3DBLEND_ONE = 2, D3DBLEND_SRCCOLOR = 3, D3DBLEND_INVSRCCOLOR = 4, D3DBLEND_SRCALPHA = 5, D3DBLEND_INVSRCALPHA = 6, D3DBLEND_DESTALPHA = 7, D3DBLEND_INVDESTALPHA = 8, D3DBLEND_DESTCOLOR = 9, D3DBLEND_INVDESTCOLOR = 10, D3DBLEND_SRCALPHASAT = 11, D3DBLEND_BOTHSRCALPHA = 12, D3DBLEND_BOTHINVSRCALPHA = 13, D3DBLEND_BLENDFACTOR = 14, D3DBLEND_INVBLENDFACTOR = 15, D3DBLEND_FORCE_DWORD = 0x7fffffff } D3DBLEND;
SetRenderState с двумя параметрами надеюсь этол понятно.Итак вот 2 массива констант для Direct3D, проблема что я некоторых не нашел, вот и спрашиваю как их сопоставить.
первый параметр:
static unsigned int sfactorArray[] = { 0, 0,//? 0,//? 0,//? 0,//? D3DRS_SRCBLENDALPHA, 0,//? D3DRS_DESTBLENDALPHA, 0//? };
static unsigned int dfactorArray[] = { D3DBLEND_ZERO, D3DBLEND_ONE, D3DBLEND_SRCCOLOR, D3DBLEND_INVDESTCOLOR, D3DBLEND_SRCALPHA, D3DBLEND_INVSRCALPHA, D3DBLEND_DESTALPHA, D3DBLEND_INVDESTALPHA, 0};
Скажите как до конца заполнить(заменить нули) массив sfactorArray для Direct3D?
правильно ли я по смыслу сопоставил константы для обоих API?
Спасибо всем заранее.
С уважением Андрей.
Правка: 28 июля 2005 18:42
Организация столкновений на основе Octree-дерева | 27 июля 2005 | 19:56 | #7 |
---|
D.Rider
>Не понял вопроса...
Итак камеру я представляю ввиде BBox'а а не сферы и этот BBox проверять на столкновение с полигонами листа, это будет правильный подход? если нет то расскажи почему
>Не понял вопроса...
Итак камеру я представляю ввиде BBox'а а не сферы и этот BBox проверять на столкновение с полигонами листа, это будет правильный подход? если нет то расскажи почему
Организация столкновений на основе Octree-дерева | 26 июля 2005 | 20:41 | #5 |
---|
D.Rider
А если камеру в виде BBox'а предстьавить и с полигонами ввиде плоскостей проверять нормально будет?
А если камеру в виде BBox'а предстьавить и с полигонами ввиде плоскостей проверять нормально будет?
Организация столкновений на основе Octree-дерева | 26 июля 2005 | 18:42 | #3 |
---|
D.Rider
Uranius
Все теперь понятно я так и думал но для начала я подумал ор скорости: Допустим в узле 100-200 полигонов не медленно будет проверять?
Uranius
Все теперь понятно я так и думал но для начала я подумал ор скорости: Допустим в узле 100-200 полигонов не медленно будет проверять?
Странная проблема со смешанными массивами(glInterleavedArrays) в OpenGL | 26 июля 2005 | 18:32 | #3 |
---|
Uranius
ок спасибо
L00bis
зачем?
ок спасибо
L00bis
зачем?
Организация столкновений на основе Octree-дерева | 25 июля 2005 | 20:06 | #0 |
---|
Привет всем!!!
сделал Octree дерево. Вот задамался сделать на основе его столкновения но вот не знаю как это организовать.
я так понял столкновения надо проверять только с листьями дерева. В некоторых млучаях это прерасно работает.Для удобства я камеру тоже ограничил Bounding Box'ом. Но в некоторых случаях, когда Bounding Box окружает группу полигонов и в нем есть пустотаб т.е. до ближайшей группы большое расстояние и это тоже считается столкновением, а визуально мы сталкиваемся не с группой полигонов а с самим Bounding Box'ом и реалистичность столкновения теряется...я думаю понятно объяснил.
У меня есть идея как-то переработать структуру листьев ядля тех случаев когда в расстояния от группы полигонов находящихся внутри Boundoing Box'а до его стенок велико. Но не знаю как это реализовать. Нехочется изобретать велосипед.
вопросы:
1) Как это сделать? и возможно ли?
2) Где про это почитать?
3) Как другие это реализовали?(мне не нужен код а просто подробная идея)
сделал Octree дерево. Вот задамался сделать на основе его столкновения но вот не знаю как это организовать.
я так понял столкновения надо проверять только с листьями дерева. В некоторых млучаях это прерасно работает.Для удобства я камеру тоже ограничил Bounding Box'ом. Но в некоторых случаях, когда Bounding Box окружает группу полигонов и в нем есть пустотаб т.е. до ближайшей группы большое расстояние и это тоже считается столкновением, а визуально мы сталкиваемся не с группой полигонов а с самим Bounding Box'ом и реалистичность столкновения теряется...я думаю понятно объяснил.
У меня есть идея как-то переработать структуру листьев ядля тех случаев когда в расстояния от группы полигонов находящихся внутри Boundoing Box'а до его стенок велико. Но не знаю как это реализовать. Нехочется изобретать велосипед.
вопросы:
1) Как это сделать? и возможно ли?
2) Где про это почитать?
3) Как другие это реализовали?(мне не нужен код а просто подробная идея)
Спасибо всем заранее. С уважением Андрей