OpenGL ES 2.0 - 如何逼真地变形球体?

时间:2013-07-17 13:06:28

标签: 3d opengl-es-2.0 game-engine game-physics physics-engine

我想为Android应用程序设计一个3D物理引擎。我正在使用OpenGL ES 2.0。

这就是我想要做的事情:

假设我的设备屏幕中心有一个球体。假设球体充满水(如水气球)。由于重力,我们期望球体在底部变形。此外,使用手机的加速度计,我可以改变重力,从而改变球体的变形。

我做了很多研究,但我仍然不知道该怎么做。我认为这不是很难做的事情,但目前我能想到如何做到的唯一方法就是手工绘制,逐帧,不同的形状。

是否有一种产生变形的方法,而不是“手工”绘制?也许通过使用着色器?

我现在完全失去了!

非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

如果您想以逼真的方式在3D中进行 - 那么它与OpenGL ES无关,并且需要高级物理引擎。着色器仅用于渲染结果。

除非你需要的是3D球体2D图像的简单变形,坦率地说,从你问这个问题的方式来判断 - 这对你来说太难了。

答案 1 :(得分:0)

有很好的示例程序可以在PowerVR SDK for OpenGL ES中执行变形球体和其他形状:

http://www.imgtec.com/powervr/insider/sdkdownloads/index.asp

在工作站上创建动画变形球体模型的最佳免费工具是Blender

http://www.blender.org/