Tag: 纹理映射

3D对象(.pod)中的纹理映射不能正确使用isgl3D进行

我已经使用了一个3D iphone(.pod)模型,它在PVRShammon中正确显示。 但是当我将这个3D模型导入到isgl3D中时,它不能正确显示带纹理的图像,图像只用一些线和三angular形覆盖了对象的某些区域。 请帮助我以正确的方式做到这一点。 提前致谢… _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 […]

使用HTML5 Canvas进行image processing和纹理映射?

在我正在研究的3D引擎中,我成功地devise了3D立方体。 填补双方的唯一方法是使用纯色或渐变就我而言。 为了使事情更加令人兴奋,我真的很喜欢用一个简单的位图来实现纹理映射。 重点是我几乎找不到任何关于JavaScript中image processing主题的文章或代码示例。 而且,HTML5canvas中的图像支持似乎仅限于裁剪。 我怎么能伸展一个位图,以便一个矩形的位图可以填补一个不规则的立方体脸? 在2D中,由于透视,投影的方形立方体面不是正方形,所以我必须将其拉伸以使其适合任何四边形。 希望这张图片能澄清我的观点。 现在左脸上已经充满了白色/黑色渐变。 如何在纹理映射之后使用位图填充它? 有没有人有使用JavaScript和HTML5canvas透视纹理映射(或image processing)的任何提示? 编辑:我得到了它的工作,感谢6502! 但是,这是相当CPU密集型,所以我很乐意听到任何优化的想法。 结果使用6502的技术 – 使用纹理图像

THREE.js生成UV坐标

我正在使用THREE.js OBJ加载器将模型导入场景。 我知道我可以很好地导入几何体,因为当我为它分配一个MeshNormalMaterial时,它显示很好。 但是,如果我使用任何需要UV坐标的东西,它给我的错误: [.WebGLRenderingContext]GL ERROR :GL_INVALID_OPERATION : glDrawElements: attempt to access out of range vertices in attribute 1 我知道这是因为加载的OBJ没有UV坐标,但我想知道是否有任何方法来生成所需的纹理坐标。 我努力了 material.needsUpdate = true; geometry.uvsNeedUpdate = true; geometry.buffersNeedUpdate = true; …但无济于事。 有没有办法使用three.js自动生成UV纹理,还是我必须自己分配坐标?