GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (76 стр.)

Сообщения на форуме пользователя Andrey (76 стр.)

Какой Frustum Culling быстрее будет работать?29 мая 200914:26#72
kas
да не Octree! иерархия в сцене для минимизации проверок на видимость. Octree/QuadTree как частный простой смлучай реализации.
Kd-tree еще очень хороший вариант. А если еще узлы линейно разложить в массив, можно избежать рекурсивных вызовов на поиске видимых объектов на сцене.
Какой Frustum Culling быстрее будет работать?29 мая 200914:25#70
kas
>я чото не понял - есть какието игры где по у много уровней? какое такое окти, квадтри рулит. а ещё лучше грид тупой
для стратегии Poroject Grid пойдет.
Тут имелась ввиду иерархия не обязательно Octree.
innuendo
>А кто такой бвх ?
о... тяжелый случай... кроме фататичного доказывания знания OpenGL расширений и того что не пробовал сделать что это плохо и лучше чем у тебя, что-нтбудь знаешь то?
теперь я скажу читай документацию по 3D графике и структурам данных! А расширения OpenGL вещь приходящая и уходящая.
Какой Frustum Culling быстрее будет работать?29 мая 200912:14#53
0r@ngE
>как пользователь октри обосную - для сильно-динамичной сцены октри не катит. хотя можно комбинировать...
на сколько динамичное имееться ввиду?
для 20-30 объектов пойдет вполне, тестирование на переход по узлам быстро. Добавление/удаление из списка объектов узла при переходе объекта из одного в узла в  другое тоже быстро. Итого, я думаю тестирование пересечения сферы/AABB объекта и узла это единственная операция отнимающая время.
В любом случае лучше 30 объектов перераспределить по дереву, но проверить всего малый процент их на видимость, по сравнению с тем что всегда гонять проверку видимости для всех линейно в цикле. Если скопление частое в 1 узле, то опять таки перерапределения по узлам не будет. И если все видны проверка на видимость отпадает.
Какой Frustum Culling быстрее будет работать?28 мая 200921:11#34
flaber
можно сделать некую оптимизацию. Если узел не виден полностью(пересекаеться плоскотью какой-то) - только тогда проверяй объекты внутри него. Если виден полностью все дочерние без проверки рисуй.
Используй тег code = cpp
Какой Frustum Culling быстрее будет работать?28 мая 200920:28#32
flaber
>Вот какраз чтобы не перебирать объекты.
не понял если честно. опиши как сделано. Виден узел(проверил его на сферу затем AABB) далее??....
Какой Frustum Culling быстрее будет работать?28 мая 200913:46#6
Novartis Games
>octree дерьмо для динамической сцены!
пробовал делать?
Перевод матрицы (3DsMAx -> DirectX )26 мая 20099: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;
}
Да и перенеси тему в графика.
Риддик 200925 мая 20099:00#35
innuendo
Я сказал по делу. Даже число инструкция в ARB хватило бы все равно выбрали более совершенное расширение.
Да не все нюансы OpenGL я знаю, что из этого-то?
innuendo
Я смотрю ты пантуешься и наглеешь все больше. Нах это тебе не понимаю. Ты что великий гуру что-ли что ошибки других указываешь? Не много ли на себя берешь? Потише веди себя.
Риддик 200924 мая 200923:38#33
kas
:))))
Риддик 200924 мая 200922:47#30
Executor
Quake 4 - там GLSL.
Quake Wars - Cg, и наверняка через профиль ARB программам обошлись.
в Риддик явно сложные шейдеры по сравнению этими шейдерами.
Риддик 200924 мая 200921:09#20
innuendo
>Разобраться с моделями и видеокартами не можешь ?
Я все правильно сказал хватит тупить :))
ты задолбал уже понтаваться, самый умный :)) ? Забыл как Zemedelec ткнул про то как в Direct3D анизотропная фильтрация ставиться? И ты знаешь про это не включай дурачка ведь, ступил! Вот какого ты лезешь а? нах тебе это нужно то? Не лезь, ладно? Пиши в личку.
Риддик 200924 мая 200921: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, вершинные там такие же наверняка может костей для скелетки прибавили.
Риддик 200924 мая 200919: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 скомпилит.
Многопоточность, синий экран24 мая 20092:07#5
GLEB
>проблема вроде как решилась путем использования D3DCREATE_MULTITHREADED
учти этот флаг влияет на быстродействие
Скиннинг на шейдере не канает.18 мая 200916:56#18
Novartis Games
может матрицы протранспонировать? или поменяй порядок умножения попробуй.

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр