Jump to content

Houdini Ocean Toolkit - Antialiasing?


Recommended Posts

Ok, so we've used the HOT to great success (thanks, Drew!!). We've got beautiful oceans around some container ships that we're animating. Everyone is so impressed with the results.

But, of course, as soon as you show someone how you can do something cool with someone else's code, they want you to push it farther.

I have two issues that I want to know if anyone has any ideas on:

1) If we do distant shots of water, the background part of the water doesn't antialias very well. Because the water sparkles a little in real life anyway, we got away with it for now, but I want to be able to AA this better (and learn some new tricks along the way).

2) If I have the camera down low to the water shooting up towards a boat, the water nearby sometimes doesn't render and crashes mantra, or has strange artifacts covering the whole frame. If I try to render it again, to the screen (ip), then sometimes it works and sometimes it doesn't. I have fixed some of that by setting my splits up high (100-300), but I'm also using a lot of RAM doing so. I think this problem is not so much related to HOT specifically, but to procedural displacements in general, since I've seen this same problem before. We usually just move the camera a bit higher and go with it, but that's not always possible.

I hope this is clear and someone has some ideas that we can try.

Thanks,

Dave

Link to comment
Share on other sites

Hi Dave,

I'm just about to run out the door for a weekend of what promises to be good surf at the coast (woohoo). Off the top of my head for the second issue the displacement bounds will be very important and you may even want to look at using the SOP (or a VEX SOP) for closeup geometry. Regarding the first issue one thing to look at is some atmosphere to reduce the detail in the distance. Other things to consider are rendering with multiple passes with reduced water detail on a glitter pass. Your reflection map is also a source of possible aliasing.

I'm sure the DD guys have some suggestions here given the amount of water they've done in recent times :-)

Glad to hear that you're getting some good results.

-Drew

Link to comment
Share on other sites

I had some similar problems to your first issue with some fluid shots. With displacement and high specular there was really a lot of noise further back in the scene. For us I suspect it was due to the fact that 2D textures that sample 3D noise functions are not band-limited, even if the 3D function is. I never got the chance to try the fix for that ( see "Wavelet Noise", by Cook and DeRose from 2005 Siggraph ) because once we turned on velocity motion blur and depth of field the problem largely went away.

In regards to your second problem. I had the same problem of the scene not rendering when the camera was very close to the water. It would only be for 1 frame of the animation usually and nudging the camera or editing the geometry of that frame would fix it. When we added the displacement later the problem did not re-appear once fixed.

So really I don't have a sure fix for either of your problems, but I feel your pain.

Mark

Link to comment
Share on other sites

You can quickly run into issues with what look like corn rows running down your ocean surfaces. Are you seeing this kind of problem?

This turns out to be an unfortunately reality of how Mantra dices up grids into micropolygons. When splitting up the the surface, a pixel projected onto the ocean grid can cause long thin micropolygons to be generated and as such you ended up with a striated sampling pattern.

To fix this you need to rotate the grid off-axis - i.e. don't look down u or v on the grid. Also you can experiment with messing with the point positions in XZ so that you break down the regular pattern of the grid before it gets fed into Mantra.

Mantra does need a clever view-independant dicing scheme to help defeat these issues. I know we love using Mantra for many reasons but judging by the amount of ocean rendering we do in Mantra (a lot!) it would be a great help not to have to worry about this again. SESI, do you have any other suggestions to circumvent this artifact?

Link to comment
Share on other sites

Thanks Jason for your input. Yeah, overall, the HOT is awesome. I've also started playing with LOWER waveheights and much lower wind speeds. This seems to give more interesting results. Also, bumping up the Ocean Resolution parm looks better, though it slows things down somewhat.

So with lower waveheights and Ocean Resolution, I can get away with smaller displacement bounds and less RAM, which was much of my problem.

Dave

Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...