Search - User list
Full Version: color difference when using the delayed load shader
Root » Technical Discussion » color difference when using the delayed load shader
itriix
hi everyone,
i'm using the delayed load shader but i'm getting two different renders. i'm posting a side by side image of the two.

the image on the left is multiple file sops that load in multiple particle sims and then rendered out.
the image on the right is multiple geo nodes with delayed load shaders applied, all of which point to the SAME individual particle sims that the “file sops” were loading in.

As you can tell, the FILE SOP approach has a “darker” color and the “delayed load shader” method has a brighter/more saturated look to it.

Does anyone have any ideas about this one?
Thanks,
Jonathan
itriix
figured it out, i think… however, i could use some thoughts on it.

Here's what i noticed. Originally, I would have a Geo node with my popnet, material, OUT_NULL, and would sim this out to disk with a GEO ROP.

I would then create a new Geo node… with NOTHING inside of it. I would put a delayed load shader on it and point the delayed load shader to the particles that were cached to disk.

When I would render, all i would do is turn on the visibility of the empty geo node with the delayed load shader on it and with nothing inside of it. This was giving me a different color than my original. Well, i've been playing around with shaders/renders/render passes and comping the last few days and noticed some issues. during my testing, i also noticed that i wasn't able to get out any “AOV's” when i was using the delayed load shader… hmm, so i tried using a FILE SOP, inside of my DELAYED LOAD SHADER GEOMETRY node, and then i tried to render… AHHA, i got my ORIGINAL COLOR back and I got the aovs… so i tried it a little further. I created a null inside of the geo node, put the visibility on it and rendered… this took me back to NO aov's and the “wrong” color again! So, i tried putting the RENDER flag on the FILE SOP, and the VISIBILITY on the “null” by itself, and then rendered… ONCE AGAIN, i got the correct color and my aov's again. So it seems that i've learned that, when using the delayed load, you need to have the “geometry” read in inside using a file sop, in order to get the correct data rendered out?

is this true, or am i just losing it?
Cheers and thanks a lot,
Jonathan
symek
God, you're verbose more then HOM…

1. I'm little lost, but most probably you're wrong. In case of using Delayed Load Shadar, you need to set render flag to NULL, (doing with display flag whatever you want).

2. Setting render flag on FileSOP, you're placing second instance of geometry to the ifd. You don't want that.

3. I don't see the much difference in colors on your renders. Maybe because of jpegs, but anyway I see at least two theoretical reasons for differences:

- delayed load geo is differently motion blurred and filtered, because it doesn't support multi-segment motion blur. The shutter time it self may vary also.

- you have a different shader for delay load geo and for sop geo. Pretty common case specially if you baked material to ifd in some point, then changed some params.
itriix
Hello SYmek,
Thanks for you're reply. (And yes, i'm quite verbose sometimes in the hopes that i don't have to repeat/or reply back to someone who posts saying, OH you forgot to do **THIS**…, when in reality i DID do **THIS**)

I have to agree i'm probably doing something wrong here.

1. In the Delayed Load Shader Help Docs it says: Replaces the object with the contents of a file at render time.

Above, you warned me definitely to set the RENDER flag to the NULL and not the FILE SOP because it would send the geometry to the ifd TWICE… That makes sense, but it confuses me a bit because I did a test where I took my OBJ GEO node with the delayed load on it and created a SPHERE inside and set the render flag to the sphere. If I render this, the sphere is not rendered. Just the partice disk cache. So is the sphere still being SENT to the ifd along with the “delayed load” particle cache even though the sphere isn't rendered?

2. If i set the “render” flag to the “NULL” inside the delayed load shader GEO OBJ, I get “incorrect” colors and NO AOV's!… So I MUST just not be saving my “particles out to disk” correctly. I thought using a GEO ROP was the correct way to do this but maybe I need to be using a MANTRA ARCHIVE Instead. So I tried to “cache my particle sim” to disk using the “MANTRA ARCHIVE ROP” instead of the GEO ROP, with a path set for the GEO and for the MATERIAL ifd. When I pointed the DELAYED LOAD shader to the geo path and the material ifd path, I IN FACT DID get correct coloring in my render AND my AOV's. SO, I guess this is the correct way to do this.

BUT, If this IS the correct way, it leads me to a few new issues:

1. When making “bulky” sims, I use LOW particle count in POPS and use a WEDGE ROP to change the SEED, and use the {WEDGE} variable in my GEO ROP to export MULTIPLE particle disk caches. HOWEVER, the MANTRA ARCHIVE points to an OBJ and not a SOP. And so the {WEDGE} for changing the SEED wasn't picked up and I could only export ONE disk cache, not multiple like the GEO ROP allowed with the wedge variable.

2. I use a SWITCH SHOP with a RENDERPASS variable, so that I can switch between multiple materials when rendering with different mantra rops, each with different pre/post scripts that use the RENDERPASS var. When I saved out my disk cache with the MANTRA ARCHIVE, and then read that back in with the delayed load, I was only able to render using the “FIRST INPUT” shader, and the others did not work… So i'm guessing the MANTRA ARCHIVE doesn't store all the information involved with the SWITCH SHOP?

So at this point, it seems like I should just “read” everything back in with a file sop, and call it a day, instead of using the delayed load shader. Hopefully, i'm just missing something/doing something wrong because the delayed load shader seems to be a great thing to use to speed up rendering scenes with huge particle counts!

Thanks,
Jonathan
symek
itriix
(…) MANTRA ARCHIVE, and then read that back in with the delayed load, I was only able to render using the “FIRST INPUT” shader, and the others did not work… So i'm guessing the MANTRA ARCHIVE doesn't store all the information involved with the SWITCH SHOP?

Mantra archive should save any material *currently applied on a geometry both on OBJ and SOP level. If your shader uses a switch on a material level, only current input will be used. I have never tried this, but it sounds reasonable, isn't it?

Other then that it seems you already gathered all answers on place . Definitely use DLA on heavy geo, it helps.

cheers!
skk.
itriix
I appreciate the response. Yes, I assume that only the first input in the switch shop will be saved in the mantra archive… If I learn otherwise i'll definitely post my findings

Thanks again for your time and help,
Jonathan
itriix
New update:
WEDGE AND MANTRA ARCHIVE IN FACT DO PLAY NICELY TOGETHER!
I must have been brain dead because I tried the mantra archive with the wedge again and it worked

I noticed it because I wasn't getting multiple caches saved out with my GEO ROP, and then i noticed I was clicking the render button on the GEO ROP and not the WEDGE rop… Which I figured HMMM maybe I was making that same mistake when I was trying it with the mantra archive! AND YES, in fact that was my issue!

*this means the delayed load combination still works FANTASTIC*

NOW, only one issue remains to be fixed *if it can be*, and that's getting the mantra archive to work with a switch shop. Any takers on it?

Cheers,
Jonathan
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB