KeyShot Forum

Archive => Support Archive => Topic started by: Andrew_G on November 12, 2019, 12:18:09 AM

Title: KS9 / Gpu rendering and render layers doesnt work
Post by: Andrew_G on November 12, 2019, 12:18:09 AM
Hi,

I just noticed that Render Layers function doesnt work while rendering on GPU. I checked both with layers in PSD and as a PNG files, and those layers are completely broken and useless. There are some artifacts, black lines and so on. This function is completely broken... When the same file is rendered on CPU everything is fine.

Just letting you know about this, as for the moment I will try to work it around. But this is one of the most important function for me, so it would be nice if it start working again. But in general in my opinion all functions with passes, render layers, alphas and so on need thorough update. When I will find some time, I`ll try to explain what I mean:)

Best regards,|
Andrew

Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: hstokholm on November 12, 2019, 01:48:56 AM
Thanks for sharing. I was able to reproduce on my end.

It would be very interesting to hear your thoughts about the render passes etc.  :)
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: Eugen Fetsch on November 12, 2019, 02:16:05 AM
I would suggest to add (at least):
- "Vector Motion Pass" for creating motion blur in post
- A "UV Pass" to have the possibility to change textures in post. Maybe with the new UV feature in v9.1?

If you like to do something ground breaking, consider implementing Cryptomatte (Clown Pass on steroids) :)
But this may be an overkill for KS.

Please, add a check box: "[ ] Store passes in folders" for animation, so each pass is stored in a separate folder. Otherwise you need to do this: https://youtu.be/9BcrkguPYX8 (https://youtu.be/9BcrkguPYX8) all the time.

One more thing:
Please, include the material bump into the normal pass in Product Mode!!! It is included in the interior mode, but who likes to render an animation twice to get the right pass. But maybe it's already solved in KS9, didn't check the latest release  :-[
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: Esben Oxholm on November 13, 2019, 05:58:41 AM
Quote from: Eugen Fetsch on November 12, 2019, 02:16:05 AM
I would suggest to add (at least):
- "Vector Motion Pass" for creating motion blur in post
- A "UV Pass" to have the possibility to change textures in post. Maybe with the new UV feature in v9.1?

If you like to do something ground breaking, consider implementing Cryptomatte (Clown Pass on steroids) :)
But this may be an overkill for KS.

+1 on the vector motion pass and cryptomatte. Not an overkill at all :)
I see more and more people using KeyShot for professional animation work that would benefit from these features.
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: sloanelliot on November 13, 2019, 10:57:07 AM
Oh man...Cryptomatte would be immensely helpful (as would folders for render passes, ha).
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: INNEO_MWo on November 14, 2019, 09:37:44 AM
As Eugen mentioned in his last post and showed in a short clip (https://youtu.be/9BcrkguPYX8 (https://youtu.be/9BcrkguPYX8)) collecting the passes may help. So I wrote a simple script.
This script can be used via a batch file that should be stored in the frames folder. It will create a subfolder if the pass file is available and move all files that fits the naming.type.

Just copy the following rows and save them as a .bat file.


if exist .\*_ao.exr md .\ao | move *_ao.exr .\ao
if exist .\*_caustics.exr md .\caustics | move *_caustics.exr .\caustics
if exist .\*_depth.exr md .\depth | move *_depth.exr .\depth
if exist .\*_diffuse.exr md .\diffuse | move *_diffuse.exr .\diffuse
if exist .\*_gi.exr md .\gi | move *_gi.exr .\gi
if exist .\*_label.exr md .\label | move *_label.exr .\label
if exist .\*_lighting.exr md .\lighting | move *_lighting.exr .\lighting
if exist .\*_normals.exr md .\normals | move *_normals.exr .\normals
if exist .\*_raw.exr md .\raw | move *_raw.exr .\raw
if exist .\*_reflection.exr md .\reflection | move *_reflection.exr .\reflection
if exist .\*_refraction.exr md .\refraction | move *_refraction.exr .\refraction
if exist .\*_shadow.exr md .\shadow | move *_shadow.exr .\shadow
if exist .\*_clown.png md .\clown | move *_clown.png .\clown

This may save some seconds of work?!


Cheers
Marco
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: Eugen Fetsch on November 14, 2019, 09:45:53 AM
Seconds?  ::) ... Hours, Days, Years  ;D

Thank you Marco!!! This will help as a workaround.

Note:
The script is written for EXR files and needs to be adjusted for other file extensions. 
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: sloanelliot on November 14, 2019, 10:50:06 AM
Ahhhh, man!! This is great, thank you for sharing this .
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: INNEO_MWo on November 14, 2019, 11:38:09 AM
Here's an update to customize slightly easily. And I guess it makes all the coders laugh out there.

set passtype=ao
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=caustics
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=depth
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=diffuse
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=gi
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=label
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=lighting
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=normals
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=raw
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=reflection
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=refraction
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=shadow
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
set passtype=clown
if exist .\*_%passtype%.* md .\%passtype% | move *_%passtype%.* .\%passtype%
Title: Re: KS9 / Gpu rendering and render layers doesnt work
Post by: Eugen Fetsch on November 14, 2019, 12:55:45 PM
Great update! My life got so much easier today :) Thanks again!