我已经学习了一段时间的openGL,我想创建一个带有翻页效果的书籍,但页面应该是自己“弯曲”的。所以现在我想知道如何在openGL中弯曲表面并对其进行动画处理。这听起来像是根据顶点位置而定的多个顶点着色器,不是吗?
或者也许是一个带有多个分支的单个着色器。
S(u,v) = (x*cos(u*2*pi) + y*sin(u*2*pi))*v + z*v*a
其中x、y、z为笛卡尔单位向量,a = 2 * tan(开口角度)
S(u,v) = (x*cos(u*2*pi) + y*sin(u*2*pi))*v + z*v*a
描述,其中 x、y、z 是笛卡尔单位向量,a = 2*tan(开口角)
。 - datenwolf惠普公司提供了一个非常好的GLSL实现(带有抗锯齿和解析阴影)的翻页效果,这是WebVfx的一部分。以下是源代码:
http://rectalogic.github.io/webvfx/examples_2transition-shader-pagecurl_8html-example.html
该项目使用类似BSD的许可证进行许可。