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

时间:2013-11-11 06:11:29

标签: ios objective-c 3d texture-mapping 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:)];

更多信息请查看图像。 Output image in isgl3D view

1 个答案:

答案 0 :(得分:1)

这只是我的两分钱。你的纹理是否遵循isgl3D要求?

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

  

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

希望得到这个帮助。