Solaris Ocean Workflow and Renderman
2194 9 2- TheNotepadShow
- Member
- 45 posts
- Joined: 9月 2009
- Offline
Hey All,
I was very easily able to get the Solaris 20.0.688 ocean procedural node and workflow working with Renderman 26.1 with the help of some great people in the technical forum. See this thread https://www.sidefx.com/forum/topic/95413/ [www.sidefx.com]
Things that work:
1) Renderman renders with the native mtlxoceansurface shader.
2) Renderman renders with a custom Renderman PxrSurface shader.
Things that don't work:
1) Renderman can't render with the default mtlxoceaninterior shader. I think it is because there is an kma_volume node in the shader... that is a hybrid node (Karma/MaterialX).
2) I can't render a foam bgeo.sc sequence.. foam doesn't work with RenderMan <-- This is the big reason I am here.
Is there a workaround for these limitations?
I was very easily able to get the Solaris 20.0.688 ocean procedural node and workflow working with Renderman 26.1 with the help of some great people in the technical forum. See this thread https://www.sidefx.com/forum/topic/95413/ [www.sidefx.com]
Things that work:
1) Renderman renders with the native mtlxoceansurface shader.
2) Renderman renders with a custom Renderman PxrSurface shader.
Things that don't work:
1) Renderman can't render with the default mtlxoceaninterior shader. I think it is because there is an kma_volume node in the shader... that is a hybrid node (Karma/MaterialX).
2) I can't render a foam bgeo.sc sequence.. foam doesn't work with RenderMan <-- This is the big reason I am here.
Is there a workaround for these limitations?
Edited by TheNotepadShow - 2024年4月29日 17:28:38
- TheNotepadShow
- Member
- 45 posts
- Joined: 9月 2009
- Offline
- Heileif
- Member
- 183 posts
- Joined: 1月 2015
- Offline
Regarding the interior do you need it? In Redshift at least you can get something similar just tweaking the shader on the ocean surface.
I have not tried to get foam working in Redshift only cusp, but a quick look inside the mtlxoceansurface shader it just looks for the foam primvar same as cusp.
Does Renderman read the cusp primvar?
I have not tried to get foam working in Redshift only cusp, but a quick look inside the mtlxoceansurface shader it just looks for the foam primvar same as cusp.
Does Renderman read the cusp primvar?
Edited by Heileif - 2024年5月1日 10:14:42
- TheNotepadShow
- Member
- 45 posts
- Joined: 9月 2009
- Offline
Hey Heileif,
You are correct in that I don't need the volume shader... I just assume that it is critical to getting foam working... The ocean tool is so integrated with Karma... When SideFx mentions that the tool works with 3rd party hydra-delegates, I was hoping that it would have been more plug-and-play. Naive, I know :-). It looks like Renderman can read the cusp attribute/primvar. I just had to boost the intensity to see the effects... I am still lost in how to use that data, and foam is still an issue. Again, if there is anyone at SideFx that would like to join the discussion? The end goal is to get parity between how Karma uses the tool vs how 3rd party hydra-delegates are expected to use the tool.
Heileif, I think the kma_volume shader node plays an important role in the foam stuff. So even though we don't need it in our renderers to get good results, I think it really is needed for foam. SideFx please help :-).
BTW... all screenshots, I am using the native materialx shader... I am not using any pixar shaders.
You are correct in that I don't need the volume shader... I just assume that it is critical to getting foam working... The ocean tool is so integrated with Karma... When SideFx mentions that the tool works with 3rd party hydra-delegates, I was hoping that it would have been more plug-and-play. Naive, I know :-). It looks like Renderman can read the cusp attribute/primvar. I just had to boost the intensity to see the effects... I am still lost in how to use that data, and foam is still an issue. Again, if there is anyone at SideFx that would like to join the discussion? The end goal is to get parity between how Karma uses the tool vs how 3rd party hydra-delegates are expected to use the tool.
Heileif, I think the kma_volume shader node plays an important role in the foam stuff. So even though we don't need it in our renderers to get good results, I think it really is needed for foam. SideFx please help :-).
BTW... all screenshots, I am using the native materialx shader... I am not using any pixar shaders.
Edited by TheNotepadShow - 2024年5月1日 14:47:07
- Heileif
- Member
- 183 posts
- Joined: 1月 2015
- Offline
From the tests I did with Karma I only needed to write the foam out from "houdinioceanprocedural1/ocean_geometry/ocean_surface/bake_foam" and activate "Foam Particles" on the "houdinioceanprocedural1" node.
Looking at the result in Karma, it only seems to be a point cloud transfer onto the displacement ocean mesh.
Are you 100% sure you don't get the foam primvar read into the shader using the same workflow as cusp?
Looking at the result in Karma, it only seems to be a point cloud transfer onto the displacement ocean mesh.
Are you 100% sure you don't get the foam primvar read into the shader using the same workflow as cusp?
Edited by Heileif - 2024年5月1日 17:37:37
- TheNotepadShow
- Member
- 45 posts
- Joined: 9月 2009
- Offline
Hey Heileif,
Thank you for pushing me to make sure that I was 100% sure if the foam primvar is read by Renderman... it is being read. :-)
The issue was a two part problem:
1) I should have been on a frame further in the sequence, so it was given time to actually see the "foam"/points to show up on the surface. Even then, it wasn't correct.
2) I had to add the edit material network node for the mtlxoceansurface and change the foam color, foam transmission color, and transmission intensity to get the right look. Not sure why I had to do that. Do you think it is some weird translation issue with how Renderman read transmission info on the materialx network? The attachment isn't anything great.. but I have it working. Not sure why I have to change those colors in Renderman and not in Karma. Isn't materialx, just materialx?
Update: The fact that the renders don't look the same or close to the same between Karma and Renderman is bigger deal than I first thought. Lookdeving the foam color and wave color are a mess in materialx with Renderman. I'll keep trying to figure more of this out. I have attached the scene for anyone to look at. You will have to make the spectrum geo for the ocean and foam.. i didn't include to save on space.
Thanks again.
Thank you for pushing me to make sure that I was 100% sure if the foam primvar is read by Renderman... it is being read. :-)
The issue was a two part problem:
1) I should have been on a frame further in the sequence, so it was given time to actually see the "foam"/points to show up on the surface. Even then, it wasn't correct.
2) I had to add the edit material network node for the mtlxoceansurface and change the foam color, foam transmission color, and transmission intensity to get the right look. Not sure why I had to do that. Do you think it is some weird translation issue with how Renderman read transmission info on the materialx network? The attachment isn't anything great.. but I have it working. Not sure why I have to change those colors in Renderman and not in Karma. Isn't materialx, just materialx?
Update: The fact that the renders don't look the same or close to the same between Karma and Renderman is bigger deal than I first thought. Lookdeving the foam color and wave color are a mess in materialx with Renderman. I'll keep trying to figure more of this out. I have attached the scene for anyone to look at. You will have to make the spectrum geo for the ocean and foam.. i didn't include to save on space.
Thanks again.
Edited by TheNotepadShow - 2024年5月2日 03:29:40
- Hamilton Meathouse
- Member
- 200 posts
- Joined: 11月 2013
- Offline
- TheNotepadShow
- Member
- 45 posts
- Joined: 9月 2009
- Offline
Ok.. folk, I figured out the issue :-).. really really simple.
There is a mtlximage node inside the materialx network that creates the ocean surface shader... Karma reads the node with no issue because it is an *.exr file (oceanramp.exr)... Renderman can't use that oceanramp.exr file natively... it needs to convert it to a *.tex file with the colorspace of your choice... in my case (ACES).. so I had to edit the materialx ocean surface shader to fix that.
There is a mtlximage node inside the materialx network that creates the ocean surface shader... Karma reads the node with no issue because it is an *.exr file (oceanramp.exr)... Renderman can't use that oceanramp.exr file natively... it needs to convert it to a *.tex file with the colorspace of your choice... in my case (ACES).. so I had to edit the materialx ocean surface shader to fix that.
Edited by TheNotepadShow - 2024年5月3日 01:06:23
- Sweck
- Member
- 1 posts
- Joined: 10月 2022
- Offline
TheNotepadShow
Ok.. folk, I figured out the issue :-).. really really simple.
There is a mtlximage node inside the materialx network that creates the ocean surface shader... Karma reads the node with no issue because it is an *.exr file (oceanramp.exr)... Renderman can't use that oceanramp.exr file natively... it needs to convert it to a *.tex file with the colorspace of your choice... in my case (ACES).. so I had to edit the materialx ocean surface shader to fix that.
Hey, I tried the same steps but I cant get the foam to work with renderman. Also the cusps appear black. Can you maybe provide the Houdini file where you got the setup working with renerman? I am working in Houdini 20.5.278 with Renderman 26.2. The Houdini ocean procedural now works with the mtlxvolume so it looks like they fixed the problem with rendering the Ocean interior out of the box. I work with Renderman XPU but I am facing the same Problem with Renderman CPU or GPU.
My Ocean render with Renderman in Solaris
Houdini Ocean Procedural Settings
This is the whole graph, I Just created a small ocean via the shelf tool and added a camera, a dome light, the houdini preview procedural and the Renderman rendering nodes. I can provide the Houdini file if needed
Converted the oceanramp.exr to oceanramp.tex with txmake.exe and replaced the path inside the mtlcoceansurce shader.
I am also having a problem with artefacts when I do renderings really close to the ocean surface. Looks like the normals are not smooth. I tried increasing the Dicing Quality in the ocean procedural and rendering the scene to exr but it looks like it doesnt make any difference.
Artefacts with Renderman when rendering closeups
The artefacts also appear arround the detailed area after the dicing. With Karma the surface arround the detailed area is smooth
Rendering closeups produces the same errors in Karma tho. I also tried increasing the dicing here but no difference just like renderman. Maybe I just dont understand the dicing parameter 😂
Dicing = 1
Dicing = 2
Edited by Sweck - 2024年11月25日 16:33:08
- TheNotepadShow
- Member
- 45 posts
- Joined: 9月 2009
- Offline
-
- Quick Links