4

I've been studying openGL for a while, I'd like to create a book with the page turning effect, but the pages should "bend" themselves. So now I'm wondering how one could bend a surface and animate it in openGL. Sounds like a multiple-per-vertex-shaders depending on the position of the vertex, isn't it?

Or perhaps a single shader with multiple branches

4

3 に答える 3

4

曲げを曲線方程式として実装し、バインディングからの距離に応じてその曲線を頂点位置に適用します(これには追加の頂点属性を使用できます)。


提案に従って更新します(以前のコメント):

円錐を見ると、先端に向かって先細になっている(軸の周りの)円形の曲線で構成されていることがわかります。これは、円錐メソッドのページカール効果用に作成する曲線です。先端が原点にあり、軸がZである円錐の表面は、解析面によって記述されます。

S(u,v) = (x*cos(u*2*pi) + y*sin(u*2*pi))*v + z*v*a

ここで、x、y、zはデカルト単位ベクトルであり、a = 2 * tan(開き角)です。

于 2012-07-10T10:14:40.323 に答える
4

ページめくりは、「カール」のさまざまな段階で半径と頂点角度を変化させる円錐として実装されます。これは、数学を説明する iOS のチュートリアルですXerox PARCによる原著論文はこちら

お役に立てれば!

于 2012-07-10T13:51:29.637 に答える