关于 ThreeJS加载FBX 在iphone加载后 看不见 丢失 的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ljason1993/article/details/90764931

首先 android手机 打开是木有问题的 而且和threejs的版本也没有关系

问题是 iphone 无论是微信浏览器 Safari 还是chrome 加载模型成功 scene.add 的一瞬间模型就消失了

你需要看看pc上面console里面是不是有报像素有问题(下图)

这就证明你的贴图不是2的指数(好吧这个词我也理解不过来,反正就是2的多少次方的数)

这样苹果就无法显示了(什么鬼....)

让你的模型师把贴图改一下就好了呢....或者你直接吧贴图文件删除,看看是不是有个黑模,就知道了~~~

坑了我2小时,希望有用吧

展开阅读全文

iphone openGLES加载纹理问题

01-16

用下面代码加载了纹理:rnCGImageRef textureImage = [UIImage imageNamed:@"apple128.png"].CGImage;rn NSInteger texWidth = CGImageGetWidth(textureImage);rn NSInteger texHeight = CGImageGetHeight(textureImage);rn GLubyte *textureData = (GLubyte *)malloc(texWidth * texHeight * 4);rn CGContextRef textureContext = CGBitmapContextCreate(rn textureData,rn texWidth,rn texHeight,rn 8, texWidth * 4,rn CGImageGetColorSpace(textureImage),rn kCGImageAlphaPremultipliedLast);rn CGContextDrawImage(textureContext,rn CGRectMake(0.0, 0.0, (float)texWidth, (float)texHeight),rn textureImage);rn rn CGContextRelease(textureContext);rn glGenTextures(1, &tex[0]);rn glBindTexture(GL_TEXTURE_2D, tex[0]);rn glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, texWidth, texHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, textureData);rn free(textureData);rn glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);rn glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);rnrn然后绘制:rnstatic const GLfloat vertices[] = rn rn -30, 30, -0.0, rn -30, -30, -0.0, rn 30, -30, -0.0, rn 30, 30, -0.0,rn ; rnrn rn static const GLfloat texCoords[] = rn rn 0.0, 1.0,rn 0.0, 0.0,rn 1.0, 0.0,rn 1.0, 1.0,rn ;rnglEnable(GL_TEXTURE_2D);rn glBindTexture(GL_TEXTURE_2D, tex[0]);rn glEnableClientState(GL_TEXTURE_COORD_ARRAY);rn glTexCoordPointer( 2, GL_FLOAT, 0, texCoords );rn rn glVertexPointer(3, GL_FLOAT, 0, vertices);rn glEnableClientState(GL_VERTEX_ARRAY); rn glDrawArrays(GL_TRIANGLE_FAN, 0, 4);rnrn结果片是上翻转,请问,这是为什么呀? 论坛

没有更多推荐了,返回首页