are my shirts pressed, yet?
quick announcement – i’m releasing version 0.3 of the deformer code. primary changes: 1) should now apply cleanly to recent linden viewer code, 2) deformation tables are computed in the background on another thread, so no frame stalls.
EDIT: version 0.3.2 fixes several issues detailed in the comments.
15 thoughts on “are my shirts pressed, yet?”
Leave a Reply Cancel reply
You must be logged in to post a comment.
Filed under: second life - @ 24 April 2012 3:30 pm
Err… Qarl… lldeformerworker.h and lldeformerworker.cpp are missing from your patch !
silly me. i updated the link above to contain the missing code. thanks Henri.
I’m a little confused by some statements being made in this thread: http://www.sluniverse.com/php/vb/general-sl-discussion/72081-qarls-mesh-deformer-latest-news.html
Seems some are saying the base shape will be variable? How would that work? Would be nice to get some clarification. 🙂
Darien –
there’s been a proposal to allow for alternate base shapes – a male base, and possibly multiple sizes for both male and female. sadly this work was not scheduled in the original bid, so it’s unclear how it will be funded.
but the idea is to simply allow an additional parameter when uploading the mesh – along with the existing “please deform” option, a second option to specify the base shape.
@Qarl
New patch ported to the Cool VL Viewer and working fine (a new release including it will likely be published tomorrow or the day after).
The issue with “jumping meshes” (see my comment for v0.2) is yet still not solved (but I implemented a work around for it in the Cool VL Viewer, that at least doesn’t trigger the “jumping mesh” issue with avatars not wearing deformed meshes).
9>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\vector(870): error C2719: ‘_Val’: formal parameter with __declspec(align(’16’)) won’t be aligned
9> d:\projects\nacl\indra\newview\lldeformerworker.h(34) : see reference to class template instantiation ‘std::vector’ being compiled
9> with
9> [
9> _Ty=LLVector4a
9> ]
Visual Studio 2010, Win7 64bit.
It doesn’t like “std::vector mVolumePositions;” in lldeformerworker.h
Ack. That last line was supposed to be
std::vector BRACKET LLVector4a BRACKET mVolumePositions;
Root cause: http://thetweaker.wordpress.com/2010/05/05/stdvector-of-aligned-elements/
And this seems to be a thankfully simple solution to the issue: http://stackoverflow.com/questions/9409591/self-contained-stl-compatible-implementation-of-stdvector/9414618#9414618
I’ve placed the template above the offending line, which now reads std::vector BRACKET wrapper BRACKET LLVector4a RACKET RACKET mVolumePositions;
I’ll see if this works out.
Thanks for the Info Karl. 🙂
Well, it compiled fine with that workaround.
Another little compile issue under Windows:
llvovolume.cpp,
‘S32 closest_mesh;’
As there is no default value, and any value assignments are in if() statements the compiler (senselessy) complains, even if one of the if branches will match either way.
The solution is a simple ‘S32 closest_mesh=0;’
0.3.2 compiled fine under windows. 🙂
Qarl, can we get the patch for your very latest deformer code released somewhere? I would rather not have to set up a full dev environment and pull two branches of code just to create a diff to see the source for the deformer. :3