以像素为单位表示模型大小

时间:2012-11-15 07:09:06

标签: android opengl-es-2.0

我有一个SurfaceView对象,它将渲染一个立方体。多维数据集大小可能会因某些以像素表示的输入而异。例如,可能有一项任务:调整立方体的大小,使正面宽度为200px。在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

,我不确定如何实现它。它在某种程度上与视锥体有关吗?

感谢。

1 个答案:

答案 0 :(得分:0)

你需要:

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

为了顺利完成,我只需动画相机以使其更接近立方体,并在每个框架上检查边界框尺寸,看看是否应停止为相机设置动画。