A very easy way of using it would be to set a global boolean
somewhere, such as "bool gAbortRequested" on start of render to
"false".  Then check it periodically on your render thread.  When
abort is called just set gAbordRender to "true" and eventually your
renderer thread will check that variable, notice it is "true" and
stop.  It does take a bit of engineering to make sure it can stop
without memory leaks.
-ben

On Tue, May 1, 2012 at 6:52 PM, Nicolas Burtnyk <[email protected]> wrote:
> Understood - so given that I should use it, how do I use it properly?
>
>
> On Tue, May 1, 2012 at 3:48 PM, Ben Houston <[email protected]> wrote:
>>
>> You can technically ignore it, but if your render is long, user's will
>> get annoyed with it and complain.  Thus for the best user experience,
>> you want to pay attention to it.
>> -ben
>>
>> On Tue, May 1, 2012 at 6:15 PM, Nicolas Burtnyk <[email protected]>
>> wrote:
>> > Hey guys,
>> >
>> > Does anyone have any experience with the Custom Render Abort callback?
>> > I'm confused by some statements and the example code in the docs.
>> >
>> > The docs say that in response to the abort callback we should halt
>> > further
>> > processing as soon as possible and return CStatus::Abort from the
>> > Process
>> > callback.
>> > What is an acceptable "as soon as possible"? Obviously we can't check
>> > whether the abort flag is set for every line of code.
>> > Are there functions that will fail or hang if used after Abort has been
>> > called? Anything else we should be aware of here? For instance is it
>> > technically legal (albeit not nice to the user) to ignore the Abort
>> > callback
>> > and just keep on extracting data and sending fragments to Soft?
>> >
>> > Also, I'm confused by this statement in the docs on the Abort callback:
>> > "The
>> > optimal way of doing this is to unlock the scene graph first, and then
>> > check
>> > whether the flag has been set, in which case it should stop immediately,
>> > otherwise then lock the scene graph again and carry on." What is the
>> > purpose
>> > of unlocking the scene graph prior to checking the abort flag? Why not
>> > just
>> > unlock if we find that the abort flag has been set?
>> >
>> > Finally, in the ColorRenderer example in the docs, why is the abort
>> > check
>> > that's done after sending each new fragment waiting on an event rather
>> > than
>> > simply calling isAborted()?
>> > Why the distinction here?
>> >
>> > Thanks!
>> >
>> > -Nicolas
>>
>>
>>
>> --
>> Best regards,
>> Ben Houston
>> Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom
>> http://Exocortex.com - Passionate CG Software Professionals.
>>
>



-- 
Best regards,
Ben Houston
Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom
http://Exocortex.com - Passionate CG Software Professionals.

Reply via email to