我第二天晚上开始和PanoramaGL一起玩。找到下载的项目后(存在一些小问题,使它无法直接编译),我开始使用它-我加载了1200 x 512(ish)全景图像,球形视图工作得很好。两个问题:我加载的纹理太大,这只能在iPhone4上使用(至少,我认为这就是为什么它不能在我的iPad上使用),并且全景图非常模糊。

我开始做一些关于在iPhone上进行3D建模的研究,而我并不会因为太过尴尬而承认大多数概念都困扰我。我没有使用3D的经验,我希望能从StackOverflow的优秀人士那里获得一些帮助。

这是我想做的事情:我想将全景图像分解为图块(我当时在考虑垂直条纹,但我愿意以其他方式来做)。我想将这些图块作为纹理加载到PLSphere视图上,并告诉它某个图块对应于某些角度。

查看PanoramaGL的源代码,看起来好像是放置此代码的好地方。在PLSphere类中,有以下代码块:

- (void)internalRender
{
    gluQuadricNormals(quadratic, GLU_SMOOTH);
    gluQuadricTexture(quadratic, true);

    glEnable(GL_TEXTURE_2D);
    glBindTexture(GL_TEXTURE_2D, ((PLTexture *)[textures objectAtIndex:0]).textureId);

    gluSphere(quadratic, kRatio, divs, divs);

    glDisable(GL_TEXTURE_2D);
}


看一下PLCube,我在其internalRender方法中看到以下代码:

// Front Face
glBindTexture(GL_TEXTURE_2D, ((PLTexture *)[textures objectAtIndex:kCubeFrontFaceIndex]).textureId);
glNormal3f(0.0f, 0.0f, 1.0f);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);


基于此,我认为我可以指定一个方向(使用类似glNormal3f的东西),并将图块绑定为纹理。

我在正确的轨道上吗?我希望有人可以为我提供指导,以使其能够正常工作。

谢谢!

最佳答案

您可以使用hugin / pano将球形纹理更改为6个立方体纹理
看到
http://vinayhacks.blogspot.com/2010/11/converting-equirectangular-panorama-to.html
纹理大小不是必须是2的幂吗?

关于iphone - 帮助OpenGL ES —改善PanoramaGL的球形分辨率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4418202/

10-13 05:30