PDA

View Full Version : DPkit Random crashes LW10 Mac 64bit, alternatives?


Iaian7
04-21-2011, 06:03 PM
First off, here's the reproducible crash (at least on my machine, it's 100% consistent):

1 - Add a DPkit > Tools > Random node to any surface in a scene.
2 - Set to "Object" mode ("Instance" and "Surface" don't crash, but also don't randomise the output for every layer or object clone in the scene :D).
3 - Connect output to any surface property (Colour is going to be the easiest to visualise).
4 - Add object to Layout.
5 - Render.

Expected: each object clone and/or object layer to be coloured with a different value within the range specified by the node.

Actual results: complete crash (Layout goes poof).

Running Lightwave 10 in 64-bit mode on a 2010 2x6 core Mac Pro (12 total cores, 24 threads) with OSX 10.6.7. I'm attaching example documents, just in case you want to test it (though honestly, it's as simple as adding the Random node to any surface input on any object in any scene, then attempting to render).

Secondly, what alternatives should I try, assuming DPkit UB isn't updated in the near future? I have separate objects for each tree species in a forest I'm building, with 10 layers in each object for specific tree variations. I'll be cloning the layers in Layout to manually populate the forest, and need a reliable way to individualise the colour of each one.

Rendering in Lighwtave 9.6 or Lightwave 10 in 32-bit mode isn't an option, as I'm dealing with tens of milllions of polygons.

Rendering with DPinstance (using the Random node set to instance) isn't an option, as I need 2-4 bound radiosity, and enabling it for a volumetric plugin KILLS render performance (from 70 seconds per frame of layout-cloned trees at full resolution, to 470 seconds per frame of DPinstances at quarter resolution...I never tried full res with DPinstance).

Rendering using Kray is currently off the table, as adding a new render engine isn't going to happen given the current timeline...I did do a few tests, but was unable to place clones reliably, or get good results with my current texture setups (and I'm not really looking to rebuild everything right now!). Of course, maybe Kray doesn't have a good way of randomising instance colours anyway...not familiar enough with it to know.

Rendering with HDinstance 2.0 is...well...untestable at this point, as they don't have a Mac demo. If anyone can vouch for Mac render speed with full radiosity, I'd certainly be interested in the comparison to plain polys! I know it'd be a nice advantage for placement and even randomisation of the clones (as opposed to having to place them by hand :D), but I fear I'd be facing the same unusable render times of DPinstance when it came to adding several bounces of radiosity (I tend to avoid LW volumetrics like the plague).

Iaian7
04-21-2011, 06:07 PM
Here are some of the alternatives to the Random node I've tried so far:

DB&W - Extended Spot Info - feeding the Object ID to a Mod node, giving me looping values. It's not a true random, and it's sequential. This can be ameliorated somewhat by using several modulus nodes and adding them together (looping through several different values simultaneously will offset the linear repeating a bit), but it's still not ideal. Plus, cluttered!

DPkit - Item Info - World Position set to Self, multiplied by a large number, then fed into the position of a Turbulence texture set to a large scale. This is a little silly, but does work. Due to the large scale of the Turbulence texture, offsetting the position by an equally large scale changes the colour of the object, and since the texture is quite large, it appears to be a flat colour for each object. However, this appears to render slowly…as in, 10+ TIMES slower than normal. Not sure what's going on, but it's really not happy about something. :( (incidentally, adding DB&W's Cache node between the Item Info and Texture nodes did nothing to help the render speed!)

I'm guessing my best bet is going to be DB&W Extended Spot Info for the time being, and upgrading it to DPkit's Random node whenever it gets updated for Mac LW10.

But…any other ideas? Keep in mind that using procedural textures (set to global or otherwise) won't work, as they'll fail to differentiate between nearby trees - it'd be a consistent texture, not individual item colouration.

Iaian7
04-21-2011, 06:40 PM
Well, I'm an idiot. DB&W's Extended Spot Info can simply be multiplied with a big number, and replace the unusably-slow DPIkit Item Info node. Much better results, and renders faster than anything else I've tried so far. Still not 100% happy with the setup, not as elegant a solution as the Random node, but it should do the trick.

Also, I posted this in the developer's nodal forum. Whoops. Meant to post it in either the mac or node techniques forum. :D Sorry guys! Hopefully someone still sees this, and maybe can comment on the DP issue (might be helpful to get confirmation that it's crashing all LW10 + OSX + 64bit installs).