我第二天晚上开始和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/