KS9 / Gpu rendering and render layers doesnt work

Started by Andrew_G, November 12, 2019, 12:18:09 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Andrew_G

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


hstokholm

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.  :)

Eugen Fetsch

#2
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 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  :-[

Esben Oxholm

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.

sloanelliot

Oh man...Cryptomatte would be immensely helpful (as would folders for render passes, ha).

INNEO_MWo

As Eugen mentioned in his last post and showed in a short clip (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

Eugen Fetsch

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. 

sloanelliot

Ahhhh, man!! This is great, thank you for sharing this .

INNEO_MWo

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%

Eugen Fetsch

Great update! My life got so much easier today :) Thanks again!