... and it's a pain in the bum!

On Thu, Jun 27, 2013 at 4:20 PM, Luc-Eric Rousseau <luceri...@gmail.com>wrote:

> stuff like this usually happen because the message box pump messages, and
> therefore lets notifications through and xsi refreshes/updates some things
> it would not have otherwise.  it probably lets timer events through too.
>  On 2013-06-27 7:10 AM, "Oscar Juarez" <tridi.animei...@gmail.com> wrote:
>
>> Hello list,
>>
>> This is a weird problem and the title doesn't fully describe what is
>> happening since there is quite a lot of things involved in what I'm doing
>> and I decided to post here since it's not really an Arnold thing but more
>> of Softimage, it's just that if you have Arnold installed it is very easy
>> to replicate. You just have to paste this, you must have Arnold and set it
>> up as default on Softimage preferences. Change the path to a file you
>> actually have.
>>
>> Application.NewScene("", "")
>> Application.OpenScene("C:\\Program Files\\Autodesk\\Softimage 2013
>> SP1\\Data\\XSI_SAMPLES\\Scenes\\OLD\\club_bot.scn", 0, "")
>>
>> I replicated on 2012 SP1, 2013 SP1 and in other computer with 2013 SP1
>> too.
>>
>> So a little bit of background.
>>
>> Arnold has an onEndNewScene event which basically checks if you have
>> arnold as a default renderer and sets the scene to be ready to render with
>> arnold, changes a shader on the default light, creates the framebuffers,
>> etc. One of these things that changes is setting the render regions options
>> for every view to use the pass rendering options. This is from a factory
>> installation of Arnold.
>>
>> So for the actual problem, Tank has some routines for opening files that
>> basically first reset the state of softimage with a NewScene, and after
>> that opens the required scene turning off the confirmation dialog for
>> saving the previous scene if Softimage detected it was dirty. Since the
>> Arnold event is changing shaders and what not, a new scene will always be
>> dirty so avoids asking the user.
>>
>> If I change to ask for confirmation, it doesn't crash anymore, if I skip
>> the NewScene routine in tank, it doesn't crash, if I comment the block of
>> code in Arnold event that sets the region options for all the views to use
>> pass options it doesn't crash, that block of code is this one:
>>
>> SetValue(
>>
>>  
>> "Views.ViewA.RenderRegion.UsePassOptions,Views.ViewB.RenderRegion.UsePassOptions,"+
>>
>>  
>> "Views.ViewC.RenderRegion.UsePassOptions,Views.ViewD.RenderRegion.UsePassOptions",
>>    Array(true, true, true, true), null
>>    );
>>
>> I'm only assuming that it has to do to setting up values on parameters of
>> viewports that are not loaded yet, since while every of this is happening
>> the viewports are not really there.
>>
>> For now I can live with turning on confirmation on the tank routine but
>> it's a weird bug because apparently the scene is opened but the crash comes
>> from code that comes from an onEndNewScene Event.
>>
>> Does anybody had this before?
>> Thanks in advance.
>>
>> Oscar
>>
>>
>>
>>


-- 
---------------------------------------
Vladimir Jankijevic
Technical Direction

Elefant Studios AG
Lessingstrasse 15
CH-8002 Zürich

+41 44 500 48 20

www.elefantstudios.ch
---------------------------------------

Reply via email to