· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.DIRECTX.OPENGL —› Знатокам OGL.Что быстрее?

Посл.отвђт Сообщенiе


Дата: Апр 1, 2004 14:12:16

Какая из апи-функций будет быстрее? Вращение камеры, или вращение самого обьекта?
Условие - один обьект. Но сложный.


Дата: Апр 1, 2004 16:42:29

а есть какая-то разница?
и вращение камеры и вращение объекта - суть одно и тоже.

вообще, какие именно функции ты имеешь ввиду?


Дата: Апр 1, 2004 18:26:36 · Поправил: Hangatyr

nobodi/mio
Для вращения, перемещения объектов обычно используют изменение мировой матрицы. Т.е. меняют, как надо эту матрицу, а потом рисуют необходимый объект - это наиболее быстро.


Дата: Апр 2, 2004 10:29:33

Kba3iM0go
Суть, конечно, одна. Но скорость перерисовки может быть разной, меня интересует именно это.
Hangatyr
А поподробней можно?
Кстати, я помню как на спектруме определялась скорость выполнения программы: в начале перерисовки экрана кидался бордюр одного цвета, в конце выполнения процедуры кидался другой бордюр. На стыке было видно, сколько процедура жрет. Там было критично, за сколько выполняется перерисовка, для плавности анимирования она не должна была первышать 1/25 сек, или прихода двух прерываний.
Что- то подобное на PC есть?


Дата: Апр 2, 2004 14:45:26

А по-моему нет никакой разницы. И вращение объекта, и вращение камеры - это всего лишь изменение матриц. Гораздо больше отожрет растеризация. так что здесь можно забить, и вращать то, что тебе более удобно.


Дата: Апр 2, 2004 15:17:39 · Поправил: nobodi

Так как почти всегда обьекты двигают за счет изменения модельно-видовой (по другому мировой) матрицы, и камера двигается за счет этой же матрицы, то действительно нет никакой разницы в скорости, между вращением камеры и обьекта. Но titon упомянул о сложности обьекта... из чего я сделал вывод, что он собирался повершинно менять координаты обьекта, что довольно медленно.


Дата: Апр 2, 2004 16:07:50

tihon
Суть, конечно, одна. Но скорость перерисовки может быть разной, меня интересует именно это.

Все равно не понял. Ок, смотри - ты имеешь фактически две возможности: либо использовать glTranslate для изменения положения камеры перед каждым выводом объекта, либо ручками транслировать координаты каждого объекта. Ты про это?

Если да - то первый способ лучше из соображений скорости отрисовки, но хуже из соображений детектирования ударов.

И вообще - давай конкретизируй вопрос - дай кусок кода, скажи что именно ты хочешь сделать. Тогда и получишь конкретный обстоятельный ответ. А то вроде уж очень пространно получается.
В общем жду...


Дата: Апр 5, 2004 08:40:04

Kba3iM0go
Конкретизирую. Имеем обьект - сфера, построенная из треугольников с фиксированнными координатами. Сфера во вращении проходит несколько стадий последовательных трансформаций (3D Morphing), то есть соответственно меняются координаты верщин, образуя другие фигуры. Вот я и продумываю, с помощью каких функций все это будет быстрее. Таков уж мой принцип программирования, чем быстрее, тем лучше, даже если это будет занимать много места. Наследие спектрума, однако.


Дата: Апр 5, 2004 08:44:18

nobodi
А вообще, как узнать сколько прога жрет? По излому картинки, чтоли? Возможно ли точно сказать "такая то такая прога жрет столько-то тактов" и эти такты "влазят/не влазят" во время обновления экрана?


Дата: Апр 5, 2004 08:52:04

nobodi
Да, ты прав, так оно и есть. Рассчетов правда - минимум, все в таблицах. Все координаты всех фигур. Рассчитывается в RealTime только таблица преобразований ( для плавности morphing), вот тут то тормоза и начинаются....


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.086