Hi all,

I have a plugin derived from AxisOp class, draws a complex geometry in
OpenGL in AxisOp::draw_handle(ViewerContext*) function.

The geometry data is stored as class member variable (not mapping to knobs
in the panel), when nuke runs in multi-threading, draw_handle() can be
called but real_valid() sometimes returns false, which makes the geometry
data doesn't synchronise correctly, for example, I have a variable :

class MyPlugin : public AxisOp {
...
    std::vector< float > myarray;
...
};

when real_valid() returns false, size of "myarray" is empty, if real_valid()
returns true, everything is fine.

I have tried to call:
    validate( true );
or
    force_validate( true );
inside build_handles() and draw_handle(), but neither of them works.

So, what can I do to make sure validate( true ) has been called and my data
synchronise correctly before entering draw_handle() ?
Does anyone encounter this problem before?

Thanks a lot,
Shing
-- 
Zhicheng YE - Shing
the /*jupiter jazz*/ group - visual research
mercenaries of jupiter jazz limited - hong kong
www.jupiter-jazz.com <http://www.jupiter-jazz.com>
_______________________________________________
Nuke-dev mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-dev

Reply via email to