I assume you are referring to this:

http://softimage.wiki.softimage.com/sdkdocs/cb_Renderer_Abort.htm#Rzmcb_Renderer_Abort

Currently we are not locking and unlocking the scene, but may be we
should be.  I will look into that.  I guess if the user modifies the
scene during our data query, they could get inconsistent results, but
it is just a preview so I am not sure that is the end of the world
unless it causes a crash.  I must admit I am not that clear on what
scene locks are.

I think the critical section around a boolean is unnecessary
personally.  A boolean is already atomic generally and you don't need
perfect synchronization for an abort process.

-ben

On Tue, May 1, 2012 at 7:10 PM, Nicolas Burtnyk <nico...@redshift3d.com> wrote:
> That part I get. I guess I'm confused by some of the statements in the docs
> about calling UnlockScene before checking the abort flag and by the example
> code which seems to use a simple abort flag in some cases and a Win32 Event
> in others.
>
>
> On Tue, May 1, 2012 at 3:56 PM, Ben Houston <b...@exocortex.com> wrote:
>>
>> 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 <nico...@redshift3d.com>
>> 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 <b...@exocortex.com> 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
>> >> <nico...@redshift3d.com>
>> >> 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.
>>
>



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

Reply via email to