PDA

View Full Version : Help with ScreamerNet and Procedural Textures?



colind
07-21-2005, 05:22 PM
Hi all,

I haven't had any luck with this so far. Any thoughts or ideas would be welcome.

When rendering with Screamer Net (on Xeon PCs with WinXP, LW 8.3), my procedural textures render differently on different machines. Has anyone else seen the same thing? Any idea what's going on?

Apparently people have suggested in the past that all the machines must have the same type of CPU, but that's not right. Machines that have identically spec'ed CPUs render differently, and I even tried running two lwsn's on the one machine. One was correct, and the other was wrong. So that's not the problem.

Everything works correctly when rendering on vanilla LightWave (ie 1 machine).

Any other ideas? Is it a bug in ScreamerNet? Is there a workaround? All render clients are pointing back to the same (shared) config files... I don't know. I'm running out of ideas.

Thanks,
Colin

PS. Although it's wrong, it _does_ give an... um... interesting... effect when you compile the incorrect frames into an animation. As long as you don't have a susceptibility for epileptic fits, that is!

MonroePoteet
07-21-2005, 07:22 PM
Can you provide a specific, single example of a procedural which renders differently? Narrowing it down to one case may make analysis a bit easier.

Thanks,
mTp

colind
07-22-2005, 06:16 AM
Actually, I _think_ I may have fixed the problem. A few simple test renders seem OK, but a full render over the weekend will tell for sure.

For the record, the solution went like this:
- Every client machine is connected back to the same host. They all use the same Lightwave\Program directory, the same config files, the same objects and everything, all coming from the host, yet they render procedural texture differently.
- Now, when each client launches lwsn.exe, they each load the system DLLs in their own C:\Windows\System32 directory. If different clients have slightly different versions of the system DLLs, it could make them behave differently from each other.
- So, using the handy Dependecy Walker (from http://dependencywalker.com/) I find all the DLLs that lwsn.exe needs to run (things like kernel32.dll, user32.dll, advapi32.dll, and so on) and copy them into the Lightwave\Programs directory.
- The theory is that now every client machine will automatically pick up the same systems DLLs from the host machine (since they are in the same directory as lwsn.exe), and not the potentially wierd ones from their own system directory. So now _everything_ (expect the hardware, of course) should be the same across all clients.
- Of course, other theories suggest they this shouldn't work at all, since WinXP SP1 searches the system directory for DLLs _before_ the directory the EXE is in, but it does seem to work, so I'm not complaining.

I'll let you know on Monday if it worked.

Lightwolf
07-22-2005, 06:37 AM
This is quite a weird issue. Can you pinpoint it to a specific procedural?

I've cross OS/cpu rendered tons of scenes with procedurals and never had a problem like that.

Cheers,
Mike

colind
07-24-2005, 09:36 PM
Well, I can confirm that the tests I ran over the weekend worked properly, so I'm assuming that all the DLL copying did the trick. Huzzah for me!!

Thanks for your interest, Lightwolf. I made up a simple object with two of the offending textures, and it's attached. They are the same textures that didn't work before, although the objects are different. The Bump channel has two layers of turbNoise (amongst other things) and that's where the badness was most noticeable.

I'll try and get some output animations ready (both correct and wrong) if you're curious.

I've also done lots of rendering with ScreamerNet before (using LW 6.x), and haven't had any problems (well, not like this anyway). This was my first go with LW 8.x, so I assume the problem must have been introduced sometime after LW 6.5b (I never used LW 7.x).

Red_Oddity
07-25-2005, 03:52 PM
Hey, what a coincidence, i had the same thing with my last job 5 weeks ago...
Some renders from the exact same machines (RAM, MoBo, CPUs and even the same OS (Ghosted HDD)) gave different results...
I thought it probably was something i did so deleted the entire shading network and started over using no Procedurals at all, the last time i had this problem was 2 or 3 years back when i used a mixed bag of Macs running OS 9 and PCs...

I'll try to find out what procedural i used...

colind
07-26-2005, 04:50 AM
Someone (McLeft) suggested that Perlin Noise, which is available as an option in procedurals like Dented and Turbulent Noise, is the culprit. He recommended switching to Gradient Noise, though I suspect any others will do (Gradient Noise can be slow, from memory).

Anyway, I haven't tried it yet, but I will this weekend.