我有一个 SVG 文件。这个文件显示了卡通人物(2D 人物)的轮廓。我的问题是,我可以制作一个程序,它允许用户与轮廓交互并使其变形。例如,用鼠标拉出人物手臂的轮廓,手臂变大。
我想贝塞尔曲线和椭圆弧是一个解决方案。我也想知道我是否使用 OPENGL,我可能会更灵活地做到这一点。
我有一个 SVG 文件。这个文件显示了卡通人物(2D 人物)的轮廓。我的问题是,我可以制作一个程序,它允许用户与轮廓交互并使其变形。例如,用鼠标拉出人物手臂的轮廓,手臂变大。
我想贝塞尔曲线和椭圆弧是一个解决方案。我也想知道我是否使用 OPENGL,我可能会更灵活地做到这一点。
您需要与自己打交道的交互方面。最近有一个 OpenGL 扩展,NV_path_rendering,它使 SVG 和其他矢量格式的精确、硬件加速渲染变得非常简单。SDK 至少包含一个示例,其中显示了与控制点的交互,这可能是您的一个良好起点。显然,这将要求您/最终用户拥有支持扩展的 GPU。这是开发人员解释扩展程序及其功能的视频。
iscriptdesign允许您创建交互式图形,但您需要自己编写/编写这些图形。
我也想知道我是否使用 OPENGL,我可能会更灵活地做到这一点。
OpenGL 不会以任何方式让事情变得更容易。OpenGL 是一个绘图 API,而不是某种魔法场景和几何管理器。它给你的只是点、线和三角形以及定义如何将它们绘制到帧缓冲区的方法。
与用户的交互完全超出了 OpenGL 的范围。