0

我有一个 SurfaceView 对象,它将渲染一个立方体。立方体大小可能会因某些以像素表示的输入而异。例如,可能有一项任务:调整立方体的大小,使正面宽 200 像素。给定 OpenGL 中的这样一个模型表示,例如:

public final static float[] VERTICES = new float[]{
  // f 1 2 3 4
  0.49f, -0.49f, -0.49f,
  0.49f, -0.49f, 0.49f,
  -0.49f, -0.49f, 0.49f,
... and so on

,我不知道如何实现它。它与截锥体有某种关系吗?

谢谢。

4

1 回答 1

0

你需要:

  • 在屏幕上投影您的顶点(使用模型 * 视图 * 投影矩阵)
  • 找到投影的边界框
  • 调整您的模型转换以获得您需要的大小

为了顺利进行,我只需为相机设置动画以更接近/更接近立方体,并在每一帧检查边界框大小以查看是否应该停止为相机设置动画。

于 2012-11-15T07:42:54.163 回答