Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actualunbird

Posted 19 April 2013 - 12:04 AM

You're right. Continuity of a function (same positions) does not imply continuous derivatives (smooth normals), the first example on the wiki entry about Smooth functions is a counter-example. This applies to higher dimensions as well.

Question is how you generate the control points in the first place. Again you're right to tackle the problem there. If your control points are not sane, the normals won't be either.

Why not go with a different approach ? The "cube" I posted in our last thread uses Curved PN triangles (original paper), the DX11 code of which I took from Jason's et. al. book/Hieroglyph3. That gamasutra thread actually links to that paper too, and the derivation of he normals looks similar. The nice thing is: You can use any triangualar mesh which comes with (reasonable) normals. The patch is completely created in the hull shader, so even less data to send (hint!).

As an aside. If you wanna read some more theory I once found a complete lecture. (Ah, ze interwebz, so much useful stuff for free)

#2unbird

Posted 19 April 2013 - 12:02 AM

You're right. Continuity of a function (same positions) does not imply continuous derivatives (smooth normals), the first example on the wiki entry about Smooth functions is a counter-example. This applies to higher dimensions as well.

Question is how you generate the control points in the first place. Again you're right to tackle the problem there. If your control points are not sane, the normals won't be either.

Why not go with a different approach ? The "cube" I posted in our last thread uses Curved PN triangles (original paper), the DX11 code of which I took from Jason's et. al. book/Hieroglyph3. That gamasutra thread actually links to that paper too, and the derivation of he normals looks similar. The nice thing is: You can use any triangualar mesh which comes with (reasonable) normals. The patch is completely created in the hull shader, so even less data to send (hint!).

As an aside. If you wanna read some more theory I once found a complete lecture. (Ah, ze interwebz, so much useful stuff for free)

#1unbird

Posted 18 April 2013 - 11:59 PM

You're right. Continuity of a function (same positions) does not imply continuous derivatives (smooth normals), the first example on the wiki entry about Smooth functions is a counter-example. This applies to higher dimensions as well.

Question is how you generate the control points in the first place. Again you're right to tackle the problem there. If your control points are not sane, the normals won't be either.

Why not go with a different approach ? The "cube" I posted in our last thread uses Curved PN triangles (original paper), the DX11 code of which I took from Jason's et. al. book/Hieroglyph3. That gamasutra thread actually links to that paper too, and the derivation of he normals looks similar. The nice thing is: You can use any triangualar mesh which comes with (reasonable) normals. The patch is completely created in the hull shader, so even less data to send (hint!).

As an aside. If you wanna read some more theory I once found a complete lecture. (Ah, ze interwebz, so much useful stuff for free)

PARTNERS