Custom shader parameter type help
Hi, i need a custom parameter for a material for the OctaneRenderer which must have an unused type. The material should also render as a simple lambert/phong in MentalRay. For an other material, it is working, only the material with the custom parameter makes trouble. I have build a custom parameter shader type with: CStringArray type; Application().RegisterShaderCustomParameterType( LOctaneMedium, L, L , 255, 255, 255, type, type); and use it in a shader parameter definition container. In the render tree, all ports are shown how they shall. The new parameter is only used internal and shouldn´t affect the MentalRay output. Now the problem i have. MentalRay don´t known the new parameter and gives me back an error message, which should be logical. Is there a way to make the parameter known or invisible, so that the error message disappears and i can render the material with MentalRay? Stephan
Zbrush tangent vector displacement maps
Hi, Has anyone been able to get the Mental Ray vector displacement shader to work with tangent vector displacement maps coming from Zbrush ? The diagnostic file tells me I should use a FlipandSwitch setting of 10, but that only results in chewing gum : https://dl.dropbox.com/u/4271217/mentalvec_tangent.jpg I tried switching color channels in the render tree, and different tangent evaluation modes in Zbrush, but no cigar so far. Thanks, - Ronald
RE: SDK: When *exactly* does XSIUnloadPlugin get called
Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Kamen Lilov Sent: Thursday, October 25, 2012 9:25 PM To: softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called Marc-Andre, with all due respect, I think you are mistaken. Here's what the docs say: A self-installing plug-in can also implement an XSIUnloadPluginhttp://softimage.wiki.softimage.com/sdkdocs/cb_XSIUnloadPlugin.htm#Rzmcb_XSIUnloadPlugin function. Softimage calls XSIUnloadPluginhttp://softimage.wiki.softimage.com/sdkdocs/cb_XSIUnloadPlugin.htm#Rzmcb_XSIUnloadPlugin whenever the plug-in is unloaded (for example, from the Plug-in Manager or when Softimage exits).XSIUnloadPluginhttp://softimage.wiki.softimage.com/sdkdocs/cb_XSIUnloadPlugin.htm#Rzmcb_XSIUnloadPlugin allows you to clean up any resources allocated by XSILoadPluginhttp://softimage.wiki.softimage.com/sdkdocs/cb_XSILoadPlugin.htm#Rzmcb_XSILoadPlugin. In fact XSILoadPlugin and XSILoadPlugin _do_ work as a pair. What is 'undefined' is the behavior where XSILoadPlugin fails at some point and returns something other than CStatus::OK - I am not completely sure but I think in this case, XSIUnloadPlugin would not be called. This is why I recommend that it be implemented as a general cleanup function that can be reentered several times without causing any harm. In our own code, we have this design in place, and if for some reason we need to 'return CStatus::Fail', we invoke XSIUnloadPlugin manually before that, just to be sure. It is also worth mentioning that XSIUnloadPlugin needs to take care of releasing internal stuff only; registered commands, event handlers, shaders, etc. do not need 'de-registration'; the PluginRegistrar keeps track of those objects and will unregister as necessary. On 10/26/2012 1:49 AM, Marc-Andre Belzile wrote: I think this is already covered somewhere in the doc. XSIUnloadPlugin gets called when the plugin is unloaded by the plugin manager (explicitly or when XSI exits). It is also called through the Application.UnloadPlugin API or if XSILoadPlugin fails. XSILoadPlugin is used for registering plugin items in the system. When XSILoadPlugin returns successfully, XSI will unload the plugin dll with the Win32 API FreeLibrary and will not call XSIUnloadPlugin. XSILoadPlugin and XSIUnloadPlugin doesn't really work as a 'pair', therefore it's not a good idea to allocate resources directly in XSILoadPlugin. You should probably do it through custom commands or events. Ideally we should have plugin entry-points for allocating and deallocating resources. -mab From: softimage-boun...@listproc.autodesk.commailto:softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Kamen Lilov Sent: Thursday, October 25, 2012 1:58 PM To: softimage@listproc.autodesk.commailto:softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called For example, if XSILoadPlugin() terminates prematurely by returning XSI::CStatus::Fail, does XSIUnloadPlugin() get called? Or does XSIUnloadPlugin() only get called if XSILoadPlugin() returns XSI::CStatus::OK indicating the plugin has successfully completed loading? If XSIUnloadPlugin() gets called in all cases, are there exceptions to what will/won't be available in that callback? Maybe some of the Autodesk devs could provide a definite answer. However, if I had that architectural issue (and I've had it before :) ), I would play it safe and write the XSIUnloadPlugin code in such a way as to allow it to work cleanly even if called multiple times, or after a partially completed XSILoadPlugin. Just set any pointers to released memory to NULL (so that a potential repeated delete/free would just work as a no-op), set DLL handles to NULL after calling FreeLibrary on them, etc. Defensive coding should always be applied to cleanup methods / destructors, IMHO. K. attachment: winmail.dat
combobox
Afternoon all, So a combobox is derived from two values - the Label and the Value e.g. box = [Label1, Value1, Label2, Value2] Say I've selected Label1 by using GetValue (box) the value it returns will be Value1 Is it possible to get the label as a return value other than setting the value to the same as the label?
Re: combobox
I usually just do a quick python type thing: selected = box.Value boxList = box.UIItems boxList[ boxList.index(selected) - 1 ] That's presuming that each Label and Value entry are unique, of course. Pete On 26 October 2012 14:56, Gareth Bell gareth.b...@primefocusworld.comwrote: Afternoon all, ** ** So a combobox is derived from two values - the Label and the Value e.g. ** ** ** ** box = [Label1, Value1, Label2, Value2] ** ** Say I've selected Label1 ** ** by using GetValue (box) the value it returns will be Value1 ** ** Is it possible to get the label as a return value other than setting the value to the same as the label? ** **
Accessing fcurve editor
Hey folks, Does anybody have idea how to access the fcurve editor from scripting? I would like to modify the selected keys on selected fcurves, but for some reason it seems to be that the accessing of the editor itself is not documented... Anybody has any idea? Thanks Szabolcs ___ This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli
Re: Accessing fcurve editor
Do a search in the sdk docs for Animation Editor Attributes. Hey folks, Does anybody have idea how to access the fcurve editor from scripting? I would like to modify the selected keys on selected fcurves, but for some reason it seems to be that the accessing of the editor itself is not documented... Anybody has any idea? Thanks Szabolcs ___ This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli -- --- Stefan Kubicek Co-founder --- keyvis digital imagery Wehrgasse 9 - Grüner Hof 1050 Vienna Austria Phone:+43/699/12614231 --- www.keyvis.at ste...@keyvis.at --- -- This email and its attachments are --confidential and for the recipient only--
Re: Accessing fcurve editor
Hey Szabolcs check out the view attributes, they recently added a lot for the Fcurve Editor On 26/10/2012 10:26 AM, Szabolcs Matefy wrote: Hey folks, Does anybody have idea how to access the fcurve editor from scripting? I would like to modify the selected keys on selected fcurves, but for some reason it seems to be that the accessing of the editor itself is not documented... Anybody has any idea? Thanks Szabolcs ___ This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli
Re: Accessing fcurve editor
You can get to it as a view by digging around a bit: all_views = list(Application.Desktop.ActiveLayout.Views) all_views.extend( list(Application.Desktop.ActiveLayout.Views(vm).Views) ) for view in all_views: if not view.type == Animation Editor: continue fEditor = view.Views(Editor) print fEditor.Name, fEditor.type The big issue I came across, and the one which stumped me, is working out which editor the user is actually using. It's all well and good getting them all but as it's possible to have multiple views all visible all with selected curve I'm honestly not sure how you can tell which one is in 'focus'. Pete On 26 October 2012 15:26, Szabolcs Matefy szabol...@crytek.com wrote: Hey folks, ** ** Does anybody have idea how to access the fcurve editor from scripting? I would like to modify the selected keys on selected fcurves, but for some reason it seems to be that the accessing of the editor itself is not documented… ** ** Anybody has any idea? ** ** ** ** Thanks ** ** ** ** ** ** Szabolcs ___ This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli
Re: SDK: When *exactly* does XSIUnloadPlugin get called
sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab
Re: Friday Flashback
Friday Flashback 91 The Yearning - pushing #Softimage as an intuitive, emotionally expressive instrument http://wp.me/powV4-246 On 19/10/2012 8:27 AM, Stephen Blair wrote: Friday Flashback #90 Softimage NT http://wp.me/powV4-2b7 It looks like SI|3D v3.0 was the first NT version, but SI|3D Extreme wasn't NT until v3.5... For the name change, I think that had already happened by late 94 On 16/10/2012 1:28 AM, Raffaele Fragapane wrote: Bit late on this, but you marked SI|3D 3.0 as (NT), I thought 3.0 was when it changed name from CE to 3D, but the first NT version was 3.51 (which might or might not have been version lined up with winNT 3.51 intentionally). Memories are a bit fuzzy, I started following Soft after Jurassic Park, so I think that was 3D already and not CE, but I do remember when it was announced for windows first and the MS acquisition a year or two before ('94?) On Fri, Sep 28, 2012 at 11:48 PM, Stephen Blair stephenrbl...@gmail.com mailto:stephenrbl...@gmail.com wrote: Friday Flashback #89 Creative Environment box shots http://wp.me/powV4-28u
Re: SDK: When *exactly* does XSIUnloadPlugin get called
I guess the plugin is loaded once for discovering and registration (plugin manager), and then reloaded for getting the actual features (actual extension of features). Usually, plugin systems use a specification file for each new plugin (xml or other) that is in charge of describing (description, name, version, author, ...) and register items (commands, windows, ...) plus the actual plugin where the Load and Unload functions are only called once. Wouldnt be great to have something similar for XSI ? -- jo 2012/10/26 Luc-Eric Rousseau luceri...@gmail.com sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab
RE: SDK: When *exactly* does XSIUnloadPlugin get called
That's correct. -Original Message- From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Luc-Eric Rousseau Sent: Friday, October 26, 2012 11:22 AM To: softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab attachment: winmail.dat
Re: SDK: When *exactly* does XSIUnloadPlugin get called
I'm confused. I just tested this and global variable constructors only get called once in my plugin (on 2012 SP1). On Fri, Oct 26, 2012 at 9:27 AM, jo benayoun jobenay...@gmail.com wrote: I guess the plugin is loaded once for discovering and registration (plugin manager), and then reloaded for getting the actual features (actual extension of features). Usually, plugin systems use a specification file for each new plugin (xml or other) that is in charge of describing (description, name, version, author, ...) and register items (commands, windows, ...) plus the actual plugin where the Load and Unload functions are only called once. Wouldnt be great to have something similar for XSI ? -- jo 2012/10/26 Luc-Eric Rousseau luceri...@gmail.com sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab
RE: SDK: When *exactly* does XSIUnloadPlugin get called
Right, the original plan was to cache the plugin registration info on disk and avoid loading the plugin at every single session. We could also keep all plugins in memory after registration like Maya does. -mab From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of jo benayoun Sent: Friday, October 26, 2012 12:28 PM To: softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called I guess the plugin is loaded once for discovering and registration (plugin manager), and then reloaded for getting the actual features (actual extension of features). Usually, plugin systems use a specification file for each new plugin (xml or other) that is in charge of describing (description, name, version, author, ...) and register items (commands, windows, ...) plus the actual plugin where the Load and Unload functions are only called once. Wouldnt be great to have something similar for XSI ? -- jo 2012/10/26 Luc-Eric Rousseau luceri...@gmail.commailto:luceri...@gmail.com sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.commailto:marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab attachment: winmail.dat
Re: Chunky EXR highlights
pic is 8 bit, exr are floats your highlights are overexposed thats why you won’t have good aa on them its often happening when you have superbright (sub)pixel(s) next to darker ones you can either -put on glare on those in post (like in real cameras..) -pre-clamp pixel values (in vray there is an option for that, with subpixel aa its working quite good, for mr I think there is some mib shader) -try not to have reflectance in material close to 1.0 (white) From: Eric Lampi Sent: Friday, October 26, 2012 7:11 PM To: softimage@listproc.autodesk.com Subject: Chunky EXR highlights Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work
Re: Chunky EXR highlights
Yeah Piotrek nailed it. If you can't adjust the light, then the spec/refl most likely needs to be turned wayy down. Personally I always try to dial in the coefficient before doing any kind of clamping. On Fri, Oct 26, 2012 at 11:04 AM, piotrek marczak piotrek.marc...@gmail.com wrote: pic is 8 bit, exr are floats your highlights are overexposed thats why you won’t have good aa on them its often happening when you have superbright (sub)pixel(s) next to darker ones you can either -put on glare on those in post (like in real cameras..) -pre-clamp pixel values (in vray there is an option for that, with subpixel aa its working quite good, for mr I think there is some mib shader) -try not to have reflectance in material close to 1.0 (white) From: Eric Lampi Sent: Friday, October 26, 2012 7:11 PM To: softimage@listproc.autodesk.**com softimage@listproc.autodesk.com Subject: Chunky EXR highlights Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/**user7979713/3d-workhttp://vimeopro.com/user7979713/3d-work -- Gene Crucean - Emmy winning - Oscar nominated VFX Supervisor / iOS-OSX Developer / Filmmaker / Photographer ** *Freelance for hire* ** www.genecrucean.com ~~ Please use my website's contact form on www.genecrucean.com for any personal emails. Thanks. I may not get them at this address. ~~
Re: Chunky EXR highlights
Are you lighting with ibl or do you have an HDR environment for FG lighting? If you have small ultrabright light sources in the HDR, they are very hard to sample accurately and your higlights may get 'fireflies. Some things to try: - make the illuminating HDR very low resolution, and use the Env_blur node to smooth it out. - use a color_basic node as a clipper on the HDR -- set the operation to minimum, plug the HDR into one input, then set the other input color to the highest value you you can. If you have serious problems, that may be R,G,B=1, but that would make your HDRI no longer HDR. 2 or 4 would at least represent 1 or 2 stops over white. - do the same thing with the surface shader that's giving you trouble, or use Felix Geremus's mia_architectural_advanced shader which include a clipping option. ed On Fri, Oct 26, 2012 at 1:11 PM, Eric Lampi ericla...@gmail.com wrote: Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work
Re: combobox
hey Gareth, if I remember correctly and in the case where the multi-selection flag is not on, you can do something like this: values = ['red', 'orange', 'blue'] formatted = list() [formatted.extend(x) for x in enumerate(values)] ['red', 0, 'orange', 1, 'blue', 2] values[listbox.Value] no ? -- jo 2012/10/26 Peter Agg peter@googlemail.com I usually just do a quick python type thing: selected = box.Value boxList = box.UIItems boxList[ boxList.index(selected) - 1 ] That's presuming that each Label and Value entry are unique, of course. Pete On 26 October 2012 14:56, Gareth Bell gareth.b...@primefocusworld.comwrote: Afternoon all, ** ** So a combobox is derived from two values - the Label and the Value e.g. * *** ** ** box = [Label1, Value1, Label2, Value2] ** ** Say I've selected Label1 ** ** by using GetValue (box) the value it returns will be Value1 ** ** Is it possible to get the label as a return value other than setting the value to the same as the label? ** **
Re: SDK: When *exactly* does XSIUnloadPlugin get called
On Fri, Oct 26, 2012 at 12:52 PM, Nicolas Burtnyk nico...@redshift3d.com wrote: I'm confused. I just tested this and global variable constructors only get called once in my plugin (on 2012 SP1). how did you test this.. if you're in the debugger the .dll probably remains in memory due to the debugging process
Re: Chunky EXR highlights
OK, I was afraid it was something like that. Well, thanks for the tips everyone, I was hoping it could be done in comp. I don't have very hot values on my lights, reflection cards or environment, but I'll have a look at the advanced shader, seems like the clipping option is what I need. Eric On Fri, Oct 26, 2012 at 2:17 PM, Ed Manning etmth...@gmail.com wrote: Are you lighting with ibl or do you have an HDR environment for FG lighting? If you have small ultrabright light sources in the HDR, they are very hard to sample accurately and your higlights may get 'fireflies. Some things to try: - make the illuminating HDR very low resolution, and use the Env_blur node to smooth it out. - use a color_basic node as a clipper on the HDR -- set the operation to minimum, plug the HDR into one input, then set the other input color to the highest value you you can. If you have serious problems, that may be R,G,B=1, but that would make your HDRI no longer HDR. 2 or 4 would at least represent 1 or 2 stops over white. - do the same thing with the surface shader that's giving you trouble, or use Felix Geremus's mia_architectural_advanced shader which include a clipping option. ed On Fri, Oct 26, 2012 at 1:11 PM, Eric Lampi ericla...@gmail.com wrote: Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work
Re: Chunky EXR highlights
What kind of spec/reflection values are you using on the shader? On Fri, Oct 26, 2012 at 11:58 AM, Eric Lampi ericla...@gmail.com wrote: OK, I was afraid it was something like that. Well, thanks for the tips everyone, I was hoping it could be done in comp. I don't have very hot values on my lights, reflection cards or environment, but I'll have a look at the advanced shader, seems like the clipping option is what I need. Eric On Fri, Oct 26, 2012 at 2:17 PM, Ed Manning etmth...@gmail.com wrote: Are you lighting with ibl or do you have an HDR environment for FG lighting? If you have small ultrabright light sources in the HDR, they are very hard to sample accurately and your higlights may get 'fireflies. Some things to try: - make the illuminating HDR very low resolution, and use the Env_blur node to smooth it out. - use a color_basic node as a clipper on the HDR -- set the operation to minimum, plug the HDR into one input, then set the other input color to the highest value you you can. If you have serious problems, that may be R,G,B=1, but that would make your HDRI no longer HDR. 2 or 4 would at least represent 1 or 2 stops over white. - do the same thing with the surface shader that's giving you trouble, or use Felix Geremus's mia_architectural_advanced shader which include a clipping option. ed On Fri, Oct 26, 2012 at 1:11 PM, Eric Lampi ericla...@gmail.com wrote: Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Gene Crucean - Emmy winning - Oscar nominated VFX Supervisor / iOS-OSX Developer / Filmmaker / Photographer ** *Freelance for hire* ** www.genecrucean.com ~~ Please use my website's contact form on www.genecrucean.com for any personal emails. Thanks. I may not get them at this address. ~~
Re: Chunky EXR highlights
I'm using the arch shader, the problem highlights are from a spec only infinite light set to rgb 1,1,1 and .75 intensity. Reflectivity is set to .7 On Fri, Oct 26, 2012 at 3:20 PM, Gene Crucean emailgeneonthel...@gmail.comwrote: What kind of spec/reflection values are you using on the shader? On Fri, Oct 26, 2012 at 11:58 AM, Eric Lampi ericla...@gmail.com wrote: OK, I was afraid it was something like that. Well, thanks for the tips everyone, I was hoping it could be done in comp. I don't have very hot values on my lights, reflection cards or environment, but I'll have a look at the advanced shader, seems like the clipping option is what I need. Eric On Fri, Oct 26, 2012 at 2:17 PM, Ed Manning etmth...@gmail.com wrote: Are you lighting with ibl or do you have an HDR environment for FG lighting? If you have small ultrabright light sources in the HDR, they are very hard to sample accurately and your higlights may get 'fireflies. Some things to try: - make the illuminating HDR very low resolution, and use the Env_blur node to smooth it out. - use a color_basic node as a clipper on the HDR -- set the operation to minimum, plug the HDR into one input, then set the other input color to the highest value you you can. If you have serious problems, that may be R,G,B=1, but that would make your HDRI no longer HDR. 2 or 4 would at least represent 1 or 2 stops over white. - do the same thing with the surface shader that's giving you trouble, or use Felix Geremus's mia_architectural_advanced shader which include a clipping option. ed On Fri, Oct 26, 2012 at 1:11 PM, Eric Lampi ericla...@gmail.com wrote: Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Gene Crucean - Emmy winning - Oscar nominated VFX Supervisor / iOS-OSX Developer / Filmmaker / Photographer ** *Freelance for hire* ** www.genecrucean.com ~~ Please use my website's contact form on www.genecrucean.com for any personal emails. Thanks. I may not get them at this address. ~~ -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work
Re: Chunky EXR highlights
The problem is the light type. Switch to an area light, and the hot speculars will go away. Lights without area mess with physically-based shaders, and such shaders have to deploy hacks to get around lights without any area because they are not physically correct. If switching to an area light with a very small area is feasible, give it a go and the speculars will go away. amaan On 26 October 2012 21:00, Eric Lampi ericla...@gmail.com wrote: I'm using the arch shader, the problem highlights are from a spec only infinite light set to rgb 1,1,1 and .75 intensity. Reflectivity is set to .7 On Fri, Oct 26, 2012 at 3:20 PM, Gene Crucean emailgeneonthel...@gmail.com wrote: What kind of spec/reflection values are you using on the shader? On Fri, Oct 26, 2012 at 11:58 AM, Eric Lampi ericla...@gmail.com wrote: OK, I was afraid it was something like that. Well, thanks for the tips everyone, I was hoping it could be done in comp. I don't have very hot values on my lights, reflection cards or environment, but I'll have a look at the advanced shader, seems like the clipping option is what I need. Eric On Fri, Oct 26, 2012 at 2:17 PM, Ed Manning etmth...@gmail.com wrote: Are you lighting with ibl or do you have an HDR environment for FG lighting? If you have small ultrabright light sources in the HDR, they are very hard to sample accurately and your higlights may get 'fireflies. Some things to try: - make the illuminating HDR very low resolution, and use the Env_blur node to smooth it out. - use a color_basic node as a clipper on the HDR -- set the operation to minimum, plug the HDR into one input, then set the other input color to the highest value you you can. If you have serious problems, that may be R,G,B=1, but that would make your HDRI no longer HDR. 2 or 4 would at least represent 1 or 2 stops over white. - do the same thing with the surface shader that's giving you trouble, or use Felix Geremus's mia_architectural_advanced shader which include a clipping option. ed On Fri, Oct 26, 2012 at 1:11 PM, Eric Lampi ericla...@gmail.comwrote: Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Gene Crucean - Emmy winning - Oscar nominated VFX Supervisor / iOS-OSX Developer / Filmmaker / Photographer ** *Freelance for hire* ** www.genecrucean.com ~~ Please use my website's contact form on www.genecrucean.com for any personal emails. Thanks. I may not get them at this address. ~~ -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- 3D Artist/TD @ The Mill, London http://www.amaanakram.com
Re: Chunky EXR highlights
Can we see what the problem area looks like? On Fri, Oct 26, 2012 at 1:00 PM, Eric Lampi ericla...@gmail.com wrote: I'm using the arch shader, the problem highlights are from a spec only infinite light set to rgb 1,1,1 and .75 intensity. Reflectivity is set to .7 On Fri, Oct 26, 2012 at 3:20 PM, Gene Crucean emailgeneonthel...@gmail.com wrote: What kind of spec/reflection values are you using on the shader? On Fri, Oct 26, 2012 at 11:58 AM, Eric Lampi ericla...@gmail.com wrote: OK, I was afraid it was something like that. Well, thanks for the tips everyone, I was hoping it could be done in comp. I don't have very hot values on my lights, reflection cards or environment, but I'll have a look at the advanced shader, seems like the clipping option is what I need. Eric On Fri, Oct 26, 2012 at 2:17 PM, Ed Manning etmth...@gmail.com wrote: Are you lighting with ibl or do you have an HDR environment for FG lighting? If you have small ultrabright light sources in the HDR, they are very hard to sample accurately and your higlights may get 'fireflies. Some things to try: - make the illuminating HDR very low resolution, and use the Env_blur node to smooth it out. - use a color_basic node as a clipper on the HDR -- set the operation to minimum, plug the HDR into one input, then set the other input color to the highest value you you can. If you have serious problems, that may be R,G,B=1, but that would make your HDRI no longer HDR. 2 or 4 would at least represent 1 or 2 stops over white. - do the same thing with the surface shader that's giving you trouble, or use Felix Geremus's mia_architectural_advanced shader which include a clipping option. ed On Fri, Oct 26, 2012 at 1:11 PM, Eric Lampi ericla...@gmail.comwrote: Having some issue with EXRs, specifically pixelated highlights. Initially I thought it was an anti-aliasing issue, but the same frame rendered result as a Softimage pic doesn't have that problem. Can someone tell me how to deal with this in either After Effects or the FXtree? Thanks, Eric -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Gene Crucean - Emmy winning - Oscar nominated VFX Supervisor / iOS-OSX Developer / Filmmaker / Photographer ** *Freelance for hire* ** www.genecrucean.com ~~ Please use my website's contact form on www.genecrucean.com for any personal emails. Thanks. I may not get them at this address. ~~ -- Freelance 3D and VFX animator http://vimeopro.com/user7979713/3d-work -- Gene Crucean - Emmy winning - Oscar nominated VFX Supervisor / iOS-OSX Developer / Filmmaker / Photographer ** *Freelance for hire* ** www.genecrucean.com ~~ Please use my website's contact form on www.genecrucean.com for any personal emails. Thanks. I may not get them at this address. ~~
Re: SDK: When *exactly* does XSIUnloadPlugin get called
// class Test { public: Test() { FILE* f = fopen(D:\\test.txt, a); fprintf(f, hello\n); fclose(f); } }; Test g_test; test.txt has only 1 hello in it. On Fri, Oct 26, 2012 at 10:11 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.com wrote: Right, the original plan was to cache the plugin registration info on disk and avoid loading the plugin at every single session. We could also keep all plugins in memory after registration like Maya does. -mab From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of jo benayoun Sent: Friday, October 26, 2012 12:28 PM To: softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called I guess the plugin is loaded once for discovering and registration (plugin manager), and then reloaded for getting the actual features (actual extension of features). Usually, plugin systems use a specification file for each new plugin (xml or other) that is in charge of describing (description, name, version, author, ...) and register items (commands, windows, ...) plus the actual plugin where the Load and Unload functions are only called once. Wouldnt be great to have something similar for XSI ? -- jo 2012/10/26 Luc-Eric Rousseau luceri...@gmail.commailto:luceri...@gmail.com sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.commailto:marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab
RE: SDK: When *exactly* does XSIUnloadPlugin get called
You mean like the .spdl and .preset formats? That's what XSI v1.x thru XSI 4.x used until the self installing stuff came online. There were all sorts of issues with unregistering plugins from the system, and dependencies with scenes. A separate file had to be maintained to keep track of what was installed, but it often became corrupted. I'm glad the self installing stuff came online to replace it. Matt From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of jo benayoun Sent: Friday, October 26, 2012 9:28 AM To: softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called I guess the plugin is loaded once for discovering and registration (plugin manager), and then reloaded for getting the actual features (actual extension of features). Usually, plugin systems use a specification file for each new plugin (xml or other) that is in charge of describing (description, name, version, author, ...) and register items (commands, windows, ...) plus the actual plugin where the Load and Unload functions are only called once. Wouldnt be great to have something similar for XSI ? -- jo 2012/10/26 Luc-Eric Rousseau luceri...@gmail.commailto:luceri...@gmail.com sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.commailto:marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab
Re: SDK: When *exactly* does XSIUnloadPlugin get called
I didn't specify in my previous post, but my test was run with a release build with no debugger attached. Global constructor was only called once. On Fri, Oct 26, 2012 at 3:13 PM, Matt Lind ml...@carbinestudios.com wrote: You mean like the .spdl and .preset formats? That’s what XSI v1.x thru XSI 4.x used until the self installing stuff came online. There were all sorts of issues with unregistering plugins from the system, and dependencies with scenes. A separate file had to be maintained to keep track of what was installed, but it often became corrupted. I’m glad the self installing stuff came online to replace it. Matt From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of jo benayoun Sent: Friday, October 26, 2012 9:28 AM To: softimage@listproc.autodesk.com Subject: Re: SDK: When *exactly* does XSIUnloadPlugin get called I guess the plugin is loaded once for discovering and registration (plugin manager), and then reloaded for getting the actual features (actual extension of features). Usually, plugin systems use a specification file for each new plugin (xml or other) that is in charge of describing (description, name, version, author, ...) and register items (commands, windows, ...) plus the actual plugin where the Load and Unload functions are only called once. Wouldnt be great to have something similar for XSI ? -- jo 2012/10/26 Luc-Eric Rousseau luceri...@gmail.com sounds like if you put some code in the constructor of a global variable, then you'd be called twice per xsi session, since your dll will be loaded and unloaded twice? On Fri, Oct 26, 2012 at 9:34 AM, Marc-Andre Belzile marc-andre.belz...@autodesk.com wrote: Sorry for not being clear enough. When a plugin is loaded at startup or through LoadPlugin, all plugin items are registered through XSILoadPlugin and then the dll is unloaded by XSI *without* calling XSIUnloadPlugin. Anything allocated in the current dll process will be zapped by the OS at this point. The plugin dll will be loaded back again when one of the registered plugin item is required by XSI, and in this case XSILoadPlugin *won't* be called again. So if you allocated objects or resources in the plugin dll process through XSILoadPlugin, they will not be available when the dll is loaded back. -mab
Re: SDK: When *exactly* does XSIUnloadPlugin get called
On 10/26/2012 7:52 PM, Nicolas Burtnyk wrote: I'm confused. I just tested this and global variable constructors only get called once in my plugin (on 2012 SP1). Nicolas, is your plugin DLL marked as 'cached'? Because I double-checked the mechanism explained by Marc-Andre, turns out he's right (not surprisingly - he's the SDK lead after all ;) ) BUT - this all applies only to external plugins not marked as cached. Cached ones - which happens to be the default - are LoadLibrary-ied just once, and FreeLibrary-ied just once (unless ofcourse you select Reload)
Re: SDK: When *exactly* does XSIUnloadPlugin get called
Yep cached. That explains it. On Fri, Oct 26, 2012 at 4:37 PM, Kamen Lilov kamen.li...@chaosgroup.com wrote: On 10/26/2012 7:52 PM, Nicolas Burtnyk wrote: I'm confused. I just tested this and global variable constructors only get called once in my plugin (on 2012 SP1). Nicolas, is your plugin DLL marked as 'cached'? Because I double-checked the mechanism explained by Marc-Andre, turns out he's right (not surprisingly - he's the SDK lead after all ;) ) BUT - this all applies only to external plugins not marked as cached. Cached ones - which happens to be the default - are LoadLibrary-ied just once, and FreeLibrary-ied just once (unless ofcourse you select Reload)
Re: SDK: When *exactly* does XSIUnloadPlugin get called
You mean like the .spdl and .preset formats? nope at all, I mean like a specification file. plugins specifications are usually little xml/json files where all informations relative to the plugin are written (what you do with the PluginRegistrar::Put* calls). This has mainly two big advantages which are: - the shared library itself (plugin) has no need to be loaded to be discovered and exposed to the audience of what it is about and what does it do. - In the case of complex plugin systems, to declare dependencies to other plugins for the plugin manager to resolve them before loading the actual plugins. This is something powerful and flexible where some systems are like Softimage or Maya more traditional in the way they ask for an handle, keeping it in memory and whatever happens, they don't really care. Spdl s have a different meaning (description language used to declare and define multiple things) as are presets (data storage). -- jo 2012/10/26 Nicolas Burtnyk nico...@redshift3d.com Yep cached. That explains it. On Fri, Oct 26, 2012 at 4:37 PM, Kamen Lilov kamen.li...@chaosgroup.com wrote: On 10/26/2012 7:52 PM, Nicolas Burtnyk wrote: I'm confused. I just tested this and global variable constructors only get called once in my plugin (on 2012 SP1). Nicolas, is your plugin DLL marked as 'cached'? Because I double-checked the mechanism explained by Marc-Andre, turns out he's right (not surprisingly - he's the SDK lead after all ;) ) BUT - this all applies only to external plugins not marked as cached. Cached ones - which happens to be the default - are LoadLibrary-ied just once, and FreeLibrary-ied just once (unless ofcourse you select Reload)
Re: Accessing fcurve editor
Selected FCurves: Application.FCurveSelection Eric Thivierge http://www.ethivierge.com On Sat, Oct 27, 2012 at 1:43 AM, Peter Agg peter@googlemail.com wrote: You can get to it as a view by digging around a bit: all_views = list(Application.Desktop.ActiveLayout.Views) all_views.extend( list(Application.Desktop.ActiveLayout.Views(vm).Views) ) for view in all_views: if not view.type == Animation Editor: continue fEditor = view.Views(Editor) print fEditor.Name, fEditor.type The big issue I came across, and the one which stumped me, is working out which editor the user is actually using. It's all well and good getting them all but as it's possible to have multiple views all visible all with selected curve I'm honestly not sure how you can tell which one is in 'focus'. Pete On 26 October 2012 15:26, Szabolcs Matefy szabol...@crytek.com wrote: Hey folks, ** ** Does anybody have idea how to access the fcurve editor from scripting? I would like to modify the selected keys on selected fcurves, but for some reason it seems to be that the accessing of the editor itself is not documented… ** ** Anybody has any idea? ** ** ** ** Thanks ** ** ** ** ** ** Szabolcs ___ This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli