使用isgl3D无法正确发生3D对象(.pod)中的纹理映射

Inf*_*faz 70 3d objective-c texture-mapping ios isgl3d

我使用了3D iphone(.pod)模型,它在PVRShammon中正确显示.

但是当我将这个3D模型导入到isgl3D中时,它没有正确显示纹理图像,图像只覆盖了一些具有一些线条和三角形的对象区域.


_cameraController = [[Isgl3dDemoCameraController alloc] initWithCamera:self.camera andView:self];
_cameraController.orbit = 10;
_cameraController.theta = 20;
_cameraController.phi = 0;
_cameraController.doubleTapEnabled = NO;


Isgl3dPODImporter * podImporter = [Isgl3dPODImporter podImporterWithFile:@"iPhone5Spod.pod"];
[podImporter printPODInfo];
[podImporter buildSceneObjects];


Isgl3dTextureMaterial *material2 = [[[Isgl3dTextureMaterial alloc] 
                                         initWithTextureFile:@"DiffuseBody2.jpg"  
                                         shininess:0.0  
                                         precision:Isgl3dTexturePrecisionHigh  
                                         repeatX:YES  
                                         repeatY:YES] autorelease];


mesh2 = [podImporter meshAtIndex:4];
node2 = [self.scene createNodeWithMesh: mesh2 andMaterial:material2];
mesh2.normalizationEnabled = YES;
node2.position = iv3(0, 0, 0);
node2.rotationY = 180;
[podImporter addMeshesToScene:self.scene];


Isgl3dLight * light  = [Isgl3dLight lightWithHexColor:@"FFFFFF" diffuseColor:@"FFFFFF" specularColor:@"FFFFFF" attenuation:0.000];
light.lightType = DirectionalLight;
[light setDirection:-1 y:-1 z:0];


[self setSceneAmbient:[Isgl3dColorUtil rgbString:[podImporter ambientColor]]];
[self schedule:@selector(tick:)];
Run Code Online (Sandbox Code Playgroud)

更多信息请查看图像. 在isgl3D视图中输出图像

小智 1

这只是我的两分钱。您的纹理符合 isgl3D 要求吗?

来自 isgl3D 教程 3 - 纹理映射 http://isgl3d.com/tutorials/4/tutorial_3_texture_mapping

对于标准图像文件,图像大小必须是兼容的两倍:例如 64x128、256x32 等。对于 pvr 纹理,图像文件也必须是正方形:例如 64x64、256x256 等。

希望这有帮助。