OpenGL动画是一个通用术语,适用于任何在其中移动对象并使用OpenGL库进行渲染的场景。从编程角度来看,有几种方法可用于创建OpenGL动画。在更面向计算机图形的视图中,OpenGL动画可以是使用OpenGL®渲染的任何动画序列,无论...
OpenGL动画是一个通用术语,适用于任何在其中移动对象并使用OpenGL库进行渲染的场景。从编程角度来看,有几种方法可用于创建OpenGL动画。在更面向计算机图形的视图中,OpenGL动画可以是使用OpenGL®渲染的任何动画序列,无论场景是在程序源代码内还是在独立的建模程序中生成的。有几种类型的动画可以使用OpenGL®和其他支持库来完成,但最常用的两种是关键帧动画和骨骼动画。手持电脑的OpenGL®动画最基本的类型就是在场景中移动一个对象。这通常是通过均匀地改变每个顶点坐标的位置,将它们缓慢地移向所需的位置来完成的场景中的摄影机也可以更改以创建动画效果,尽管在这种情况下,整个场景将保持静态。这种基本的动画形式经常用于二维(2D)程序中,其中对象只是显示纹理的占位符。关键帧动画是一个更复杂的过程。这种形式的OpenGL®动画涉及到将一个模型加载到场景并将其逐渐移动到另一个位置,称为关键帧。一个例子是一个手挥舞的模型。手的初始位置与另一个动画模型或关键帧进行比较,其中手是完全伸展的。手的平均和增量移动创建了无需存储的动画手在路径上每次增量中的位置。另一种OpenGL®动画称为骨骼动画。这包括创建一个模型,通常是关节连接的人或动物,然后在模型内创建一种骨骼结构类型实际上,每个骨骼都附着在模型的周围顶点上。骨骼对每个顶点施加一定的力或重量,因此当骨骼本身移动时,周围的模型会做出反应,组成模型“皮肤”的网格也会变形。这种类型的动画创建需要时间,但可以提供非常逼真的效果正确操作时的移动。OpenGL动画既依赖于为动画而创建的模型,也依赖于程序执行动画的方式。最常用的方法是在将动画帧绘制到可见屏幕之前,将动画帧渲染到一个称为缓冲区的离屏区域。这样可以在没有许多使用OpenGL动画的计算机程序也需要确保它们保持一致的帧速率,以防止出现跳跃式的动画,这是通过对绘制的每一帧计时以及等待或加速渲染过程来完成的
-
发表于 2020-08-07 22:33
- 阅读 ( 976 )
- 分类:电脑网络