skeletal animation, wrong aspect at initialisation since nvidia 615.71.09

Problems building or running the engine, queries about how to use features etc.
Post Reply
bro
Gnoblar
Posts: 23
Joined: Fri May 20, 2022 6:15 am
x 5

skeletal animation, wrong aspect at initialisation since nvidia 615.71.09

Post by bro »

Ogre Version: 14.5.2 :
Operating System: fedora 44:
Render System: : GL3+:

Hi,

I have a rendering application that displays animated character (walking).
It used to work well at least since Ogre1.12 and up to very recently = before install of nvidia driver 615.71.09.
It works well with same code same os with nvidia driver 610.57.04

In my code, for skeletal animation, at init, i do :

Code: Select all

      anim_state->setLoop(true);
      anim_state->setEnabled(true);
      anim_state->setTimePosition(0.0f);

and, for each dt step i do :

Code: Select all

anim_state->addTime(dt * current_speed / ref_speed);

With new version of driver, when current_speed = 0 at init, my characters appear with T-pose (pose corresponding to not applying skeletal animation).
If then current_speed becomes not zero, animation looks good. If current_speed gets back to 0, animation stops showing frozen character (which is expected).

I suspect a shader build or upload problem but i don't know how to investigate this.

What is also very surprising (with driver 615.71.09) :
in my app, i also have an alternative rendering technique based on scheme to show "type" of objects in the scene (sort of color coded type like solid blue for pedestrians, solid red for cars...).
Leaving current_speed = 0, character shown in T-pose,
At the moment the application creates a viewport showing this alternative rendering (in addition to default rendering - color code view shown as miniview overlay) the characters show correct aspect in all views = aspect at key_frame 0 of the animation.

As any one seen such behavior ?
Is there something i'm missing (which used to be non problematic until now ?)

paroj
OGRE Team Member
OGRE Team Member
Posts: 2295
Joined: Sun Mar 30, 2014 2:51 pm
x 1263
Contact:

Re: skeletal animation, wrong aspect at initialisation since nvidia 615.71.09

Post by paroj »

try:
anim_state->setTimePosition(1.0f);
anim_state->setTimePosition(0.0f);

at init to force an update

bro
Gnoblar
Posts: 23
Joined: Fri May 20, 2022 6:15 am
x 5

Re: skeletal animation, wrong aspect at initialisation since nvidia 615.71.09

Post by bro »

during setup method (OgreBites::ApplicationContextQt)
i load the objects and perform the init.
placing here

anim_state->setTimePosition(1.0f);
anim_state->setTimePosition(0.0f);

does not 'fix'.

for quick test purpose, if i perform this force update trick the first time i enter frameRenderingQueued,
it does the job = aspect is ok (so i assume update has been correctly forced).

rpgplayerrobin
Bugbear
Posts: 810
Joined: Wed Mar 18, 2009 3:03 am
x 471

Re: skeletal animation, wrong aspect at initialisation since nvidia 615.71.09

Post by rpgplayerrobin »

What happens if you use ent->_updateAnimation after you have set the time position?
Also, have you set weight of all other animations to 0 and only this one to 1?

Post Reply