Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

example viewers do not produce watertight results #1316

Open
Bloodwyn opened this issue Aug 23, 2023 · 2 comments
Open

example viewers do not produce watertight results #1316

Bloodwyn opened this issue Aug 23, 2023 · 2 comments

Comments

@Bloodwyn
Copy link

Given that OSDs example viewers are based on the work of Nießner et al., who spend a whole chapter on watertight evaluation, I was suprised to see that the OSD implementation does not produce watertight results.

My understanding is that an evaluation is not watertight (thus leaky?) if evaluated points lying on the edge between two patches can deviate because of different floating point rounding on either side. This can result in missing pixels:

dxViewer:
leakyOSDdx

glViewer
leakyOSDgl

Is this an intentional limitation? - Apologies if I missed any information on that topic.
Have a nice day!

@davidgyu
Copy link
Member

Filed as internal issue #OSD-431

@davidgyu
Copy link
Member

Hi! You are correct, the GPU hardware tessellation used by the example viewers is not watertight, and the OpenSubdiv code base does not fully implement the methods to address watertight tessellation as presented in Neissner2012.

You may want to take a look at bfr_tutorial_2_2.cpp which does show how to obtain a topologically watertight tessellation using OpenSubdiv::Bfr. We have some work in progress to incorporate that into the example viewers, but we haven't done so yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants