Сообщения на форуме пользователя Andrey (76 стр.)
Какой Frustum Culling быстрее будет работать? | 29 мая 2009 | 14:26 | #72 |
---|
kas
да не Octree! иерархия в сцене для минимизации проверок на видимость. Octree/QuadTree как частный простой смлучай реализации.
Kd-tree еще очень хороший вариант. А если еще узлы линейно разложить в массив, можно избежать рекурсивных вызовов на поиске видимых объектов на сцене.
да не Octree! иерархия в сцене для минимизации проверок на видимость. Octree/QuadTree как частный простой смлучай реализации.
Kd-tree еще очень хороший вариант. А если еще узлы линейно разложить в массив, можно избежать рекурсивных вызовов на поиске видимых объектов на сцене.
Какой Frustum Culling быстрее будет работать? | 29 мая 2009 | 14:25 | #70 |
---|
kas
>я чото не понял - есть какието игры где по у много уровней? какое такое окти, квадтри рулит. а ещё лучше грид тупой
для стратегии Poroject Grid пойдет.
Тут имелась ввиду иерархия не обязательно Octree.
innuendo
>А кто такой бвх ?
о... тяжелый случай... кроме фататичного доказывания знания OpenGL расширений и того что не пробовал сделать что это плохо и лучше чем у тебя, что-нтбудь знаешь то?
теперь я скажу читай документацию по 3D графике и структурам данных! А расширения OpenGL вещь приходящая и уходящая.
>я чото не понял - есть какието игры где по у много уровней? какое такое окти, квадтри рулит. а ещё лучше грид тупой
для стратегии Poroject Grid пойдет.
Тут имелась ввиду иерархия не обязательно Octree.
innuendo
>А кто такой бвх ?
о... тяжелый случай... кроме фататичного доказывания знания OpenGL расширений и того что не пробовал сделать что это плохо и лучше чем у тебя, что-нтбудь знаешь то?
теперь я скажу читай документацию по 3D графике и структурам данных! А расширения OpenGL вещь приходящая и уходящая.
Какой Frustum Culling быстрее будет работать? | 29 мая 2009 | 12:14 | #53 |
---|
0r@ngE
>как пользователь октри обосную - для сильно-динамичной сцены октри не катит. хотя можно комбинировать...
на сколько динамичное имееться ввиду?
для 20-30 объектов пойдет вполне, тестирование на переход по узлам быстро. Добавление/удаление из списка объектов узла при переходе объекта из одного в узла в другое тоже быстро. Итого, я думаю тестирование пересечения сферы/AABB объекта и узла это единственная операция отнимающая время.
В любом случае лучше 30 объектов перераспределить по дереву, но проверить всего малый процент их на видимость, по сравнению с тем что всегда гонять проверку видимости для всех линейно в цикле. Если скопление частое в 1 узле, то опять таки перерапределения по узлам не будет. И если все видны проверка на видимость отпадает.
>как пользователь октри обосную - для сильно-динамичной сцены октри не катит. хотя можно комбинировать...
на сколько динамичное имееться ввиду?
для 20-30 объектов пойдет вполне, тестирование на переход по узлам быстро. Добавление/удаление из списка объектов узла при переходе объекта из одного в узла в другое тоже быстро. Итого, я думаю тестирование пересечения сферы/AABB объекта и узла это единственная операция отнимающая время.
В любом случае лучше 30 объектов перераспределить по дереву, но проверить всего малый процент их на видимость, по сравнению с тем что всегда гонять проверку видимости для всех линейно в цикле. Если скопление частое в 1 узле, то опять таки перерапределения по узлам не будет. И если все видны проверка на видимость отпадает.
Какой Frustum Culling быстрее будет работать? | 28 мая 2009 | 21:11 | #34 |
---|
flaber
можно сделать некую оптимизацию. Если узел не виден полностью(пересекаеться плоскотью какой-то) - только тогда проверяй объекты внутри него. Если виден полностью все дочерние без проверки рисуй.
Используй тег code = cpp
можно сделать некую оптимизацию. Если узел не виден полностью(пересекаеться плоскотью какой-то) - только тогда проверяй объекты внутри него. Если виден полностью все дочерние без проверки рисуй.
Используй тег code = cpp
Какой Frustum Culling быстрее будет работать? | 28 мая 2009 | 20:28 | #32 |
---|
flaber
>Вот какраз чтобы не перебирать объекты.
не понял если честно. опиши как сделано. Виден узел(проверил его на сферу затем AABB) далее??....
>Вот какраз чтобы не перебирать объекты.
не понял если честно. опиши как сделано. Виден узел(проверил его на сферу затем AABB) далее??....
Какой Frustum Culling быстрее будет работать? | 28 мая 2009 | 13:46 | #6 |
---|
Novartis Games
>octree дерьмо для динамической сцены!
пробовал делать?
>octree дерьмо для динамической сцены!
пробовал делать?
Перевод матрицы (3DsMAx -> DirectX ) | 26 мая 2009 | 9:02 | #1 |
---|
Aut
Попробуй этот код.
Да и перенеси тему в графика.
Попробуй этот код.
// конвертация матрицы D3DXMATRIX AnimationModelSaver::ConvertMatrix(const Matrix3& matMax) const { Matrix3 mMax = matMax; mMax.Orthogonalize(); mMax.NoScale(); // переводим ее в наше представление D3DXMATRIX mD3D; D3DXMatrixIdentity(&mD3D); // copy transformation memcpy(&mD3D._41, &mMax.GetTrans(), sizeof(float) * 3); // copy rotation for(int i = 0; i < 3; ++i) { Point3 row = mMax.GetRow(i); for(int j = 0; j < 3; ++j) { mD3D.m[i][j] = row[j]; } } // переводим в нужную нам систему координат D3DXMATRIX mD3DTransformation; memset(&mD3DTransformation, 0, sizeof(D3DXMATRIX)); mD3DTransformation._11 = 1.0f; mD3DTransformation._33 = 0.0f; mD3DTransformation._22 = 0.0f; mD3DTransformation._32 = 1.0f; mD3DTransformation._23 = -1.0f; mD3DTransformation._44 = 1.0f; mD3D = mD3D * mD3DTransformation; return mD3D; }
Риддик 2009 | 25 мая 2009 | 9:00 | #35 |
---|
innuendo
Я сказал по делу. Даже число инструкция в ARB хватило бы все равно выбрали более совершенное расширение.
Да не все нюансы OpenGL я знаю, что из этого-то?
innuendo
Я смотрю ты пантуешься и наглеешь все больше. Нах это тебе не понимаю. Ты что великий гуру что-ли что ошибки других указываешь? Не много ли на себя берешь? Потише веди себя.
Я сказал по делу. Даже число инструкция в ARB хватило бы все равно выбрали более совершенное расширение.
Да не все нюансы OpenGL я знаю, что из этого-то?
innuendo
Я смотрю ты пантуешься и наглеешь все больше. Нах это тебе не понимаю. Ты что великий гуру что-ли что ошибки других указываешь? Не много ли на себя берешь? Потише веди себя.
Риддик 2009 | 24 мая 2009 | 23:38 | #33 |
---|
kas
:))))
:))))
Риддик 2009 | 24 мая 2009 | 22:47 | #30 |
---|
Executor
Quake 4 - там GLSL.
Quake Wars - Cg, и наверняка через профиль ARB программам обошлись.
в Риддик явно сложные шейдеры по сравнению этими шейдерами.
Quake 4 - там GLSL.
Quake Wars - Cg, и наверняка через профиль ARB программам обошлись.
в Риддик явно сложные шейдеры по сравнению этими шейдерами.
Риддик 2009 | 24 мая 2009 | 21:09 | #20 |
---|
innuendo
>Разобраться с моделями и видеокартами не можешь ?
Я все правильно сказал хватит тупить :))
ты задолбал уже понтаваться, самый умный :)) ? Забыл как Zemedelec ткнул про то как в Direct3D анизотропная фильтрация ставиться? И ты знаешь про это не включай дурачка ведь, ступил! Вот какого ты лезешь а? нах тебе это нужно то? Не лезь, ладно? Пиши в личку.
>Разобраться с моделями и видеокартами не можешь ?
Я все правильно сказал хватит тупить :))
ты задолбал уже понтаваться, самый умный :)) ? Забыл как Zemedelec ткнул про то как в Direct3D анизотропная фильтрация ставиться? И ты знаешь про это не включай дурачка ведь, ступил! Вот какого ты лезешь а? нах тебе это нужно то? Не лезь, ладно? Пиши в личку.
Риддик 2009 | 24 мая 2009 | 21:02 | #18 |
---|
Executor
Закачал в общем я тут шейдеры.
в общем сдается мне что там есть уровень шейдеров 3.0. судя по самому большому шейдеру
fasm_984_0.txt в 300 иструкций, это явно не влазит в GL_ARB_fragment_program(ps_2_x).
Итак вот и первый проект с OpenGL скажем так серьезного уровня.
ну и расширения GL_NV_fragment_program2 уже для карт GeForce 6xxx, а это уже ps_3_0 в Direct3D.
Assassin
>А в ОпенГЛ нету моделей шойдеров...Во ))) пад'ипал )))))
ты понял про что я имею ввиду. Интересует шейдеры требующие карты ATI X1300 и выше и nVidia 6200 и выше т.е. ps_3_0 для
Direct3D, вершинные там такие же наверняка может костей для скелетки прибавили.
Закачал в общем я тут шейдеры.
в общем сдается мне что там есть уровень шейдеров 3.0. судя по самому большому шейдеру
fasm_984_0.txt в 300 иструкций, это явно не влазит в GL_ARB_fragment_program(ps_2_x).
Итак вот и первый проект с OpenGL скажем так серьезного уровня.
ну и расширения GL_NV_fragment_program2 уже для карт GeForce 6xxx, а это уже ps_3_0 в Direct3D.
Assassin
>А в ОпенГЛ нету моделей шойдеров...Во ))) пад'ипал )))))
ты понял про что я имею ввиду. Интересует шейдеры требующие карты ATI X1300 и выше и nVidia 6200 и выше т.е. ps_3_0 для
Direct3D, вершинные там такие же наверняка может костей для скелетки прибавили.
Риддик 2009 | 24 мая 2009 | 19:16 | #9 |
---|
Executor
>Сравнение старого двига и нового:
>http://www.pcgameshardware.com/aid,682875/Riddick-Escape-from-Butcher-Bay-Old-and-new-engine-in-comparison/Practice/
да уж разница серьезная. Пиксельные шейдеры сложней стали. видно что тень улучшилась, постпроцесс. Освещение более сложное. Все таки интересует там какая модель шейдеров примерно? Выложи какой нибудь GLSL шейдер понавороченней и пусть кто нибудь его на ATI 9600-9800, X300-X900б nVidia 5200-5900 скомпилит.
>Сравнение старого двига и нового:
>http://www.pcgameshardware.com/aid,682875/Riddick-Escape-from-Butcher-Bay-Old-and-new-engine-in-comparison/Practice/
да уж разница серьезная. Пиксельные шейдеры сложней стали. видно что тень улучшилась, постпроцесс. Освещение более сложное. Все таки интересует там какая модель шейдеров примерно? Выложи какой нибудь GLSL шейдер понавороченней и пусть кто нибудь его на ATI 9600-9800, X300-X900б nVidia 5200-5900 скомпилит.
Многопоточность, синий экран | 24 мая 2009 | 2:07 | #5 |
---|
GLEB
>проблема вроде как решилась путем использования D3DCREATE_MULTITHREADED
учти этот флаг влияет на быстродействие
>проблема вроде как решилась путем использования D3DCREATE_MULTITHREADED
учти этот флаг влияет на быстродействие
Скиннинг на шейдере не канает. | 18 мая 2009 | 16:56 | #18 |
---|
Novartis Games
может матрицы протранспонировать? или поменяй порядок умножения попробуй.
может матрицы протранспонировать? или поменяй порядок умножения попробуй.