[tuhopuu-devel] Re: [tuhopuu-cvs] CVS commit: tuhopuu3/source/blender/include BDR_unwrapper.h BIF_editsima.h tuhopuu3/source/blender/src editsima.c header_image.c space.c unwrapper.c

Brecht Van Lommel blendix at pandora.be
Tue Jan 4 03:19:13 CET 2005


On Tue, 2005-01-04 at 01:15, Matt Ebb wrote:
> On 2 Jan 2005, at 11:04 PM, Brecht Van Lommel wrote:
> 
> >   Ported stretch optimize to new UvIsland data structure, and tweaked 
> > it some:
> >   - Only redraws every 0.5 seconds, instead of every iteration. No 
> > need to
> >     waste cpu cylces there.
> >   - Removed popup menu asking for iterations and precision. It now 
> > just keeps
> >     iterating, until you press Enter. The precision option was mainly 
> > a debugging
> >     feature.
> 
> Great to see this is back!
> 
> I realise this may be a lot of work, but I'll request it anyway - it 
> would be really really cool if the stretch optimise was interactive, 
> like a transform tool. i.e. Click 'Optimise Stretch', then move the 
> mouse in and out to determine the amount of 'relaxation', then click to 
> finish.
> 
> Currently it can be a bit difficult to time it correctly or precisely. 
> But from a philosophical/usability perspective, It would be nice if the 
> computer answered to me and not the other way around - i.e. the action 
> occurs when I am satisfied and ready, not when the computer is ready :)
> 
> If this idea is no good due to the iterative approach, perhaps might it 
> be possible to run the calculation over a few hundred steps and cache 
> the results for each step? Then the interactive transform-like part 
> could just go back and forwards through the cached data without having 
> to recalculate it for every mouse movement.

I like the idea, though there are some technical issues.

One is that the the algorithm, on each iteration, moves each uv in a
random direction (but it will always find the same result in the end).
This  makes the intermediate results often look asymmetrical, in my test
cases anyway. But for uv islands without too much symmetry in them this
isn't much of an issue.

Because the algorithm is quite slow, the data would certainly need to be
cached (and because of the randomness you simply can't iterate back
either). Coding the caching and loading the old/new results on mouse
movement is relatively easy. 

UI wise i'm not sure how this would work best. Unless the uv island is
very small, it will take a few seconds for the relaxing to stop. Maybe
it could work the same way as it does now, but allow the user to
interrupt at any point and drag back the results, or let the relaxing
continue.

It might also be a good idea to limit this tool to a reasonable amount
of uvs. Large islands will also take more steps to converge, so memory
consumption will become a problem then.

I'll put this on my list, got some other things to work on first. I'll
have to look into uv transform stuff anyway, once the new transform
system stabilizes somewhat. Also to bring back lscm live mode in a less
hacky way.

Cheers,
Brecht.

> Just some thoughts anyway!
> 
> Cheers,
> 
> Matt
> 
> ______________________________________________________________________
> _______________________________________________
> tuhopuu-devel mailing list
> tuhopuu-devel at projects.blender.org
> http://projects.blender.org/mailman/listinfo/tuhopuu-devel



More information about the tuhopuu-devel mailing list