forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   анимация и FPS (http://forum.boolean.name/showthread.php?t=2654)

Leito 10.02.2007 15:13

анимация и FPS
 
вот значит вопрос возник:
вот запустили мы анимацию проигрываться допустим при 40 FPS.
ну и повернули камеру и FPS стало 30.
и вот анимация будет медленнее проигрываться относительно времени или всегда одинаково. (интересно кадры пропускаются когда нада или нет)
хотя тупой вопрос, конечно медленнее.

жду ответ от точно знающего человека:)

jimon 11.02.2007 00:32

Re: анимация и FPS
 
одинаково
интерполяция учитывает время...

HolyDel 11.02.2007 01:11

Re: анимация и FPS
 
неодинаково. За один вызов UpdateWorld, проигрываектся число кадров умноженное на параметр в скобках (по умолчнию 0). поетому, надо дельтатаймить. например:
updateworld(33/deltatime).

moka 11.02.2007 02:39

Re: анимация и FPS
 
Тоесть ограничить УпдэйВорлд, или наорот.
В стандартном Иде, есть стандартное ограничение, оно что-бы ограничить Рендеринг и Флип, в пользу технической производительности. Он поможет.

jimon 11.02.2007 09:30

Re: анимация и FPS
 
ну принципы интерполяции не куда не денутся ... или я в блице давно не прогал :)

код интерполяции который обычно в irrlicht юзается
Код:


        f32 dt = ( (timeMs-StartTime) * Speed );
        s32 idx = static_cast< s32 >( 0.001f * dt ) % Points.size();
        f32 u = 0.001f * fmodf( dt, 1000.0f );

        p0 = Points[ clamp( idx - 1, Points.size() ) ];
        p1 = Points[ clamp( idx , Points.size() ) ];
        p2 = Points[ clamp( idx + 1, Points.size() ) ];
        p3 = Points[ clamp( idx + 2, Points.size() ) ];

    // hermite polynomials
    f32 h1 = 2.0f * u * u * u - 3.0f * u * u + 1.0f;
    f32 h2 = -2.0f * u * u * u + 3.0f * u * u;
    f32 h3 = u * u * u - 2.0f * u * u + u;
    f32 h4 = u * u * u - u * u;

    // tangents
        t1 = ( p2 - p0 ) * Tightness;
        t2 = ( p3 - p1 ) * Tightness;

    // interpolated point
        p = p1 * h1 + p2 * h2 + t1 * h3 + t2 * h4;



Часовой пояс GMT +4, время: 17:45.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot