分段线仅在 iPhone 上绘制第一段。在模拟器中完美运行
Posted
技术标签:
【中文标题】分段线仅在 iPhone 上绘制第一段。在模拟器中完美运行【英文标题】:Segmented line only draws first segment on iPhone. Works perfectly in simulator 【发布时间】:2011-06-16 07:28:25 【问题描述】:我试图在 ios 中使用 openGL 绘制分段线。它适用于模拟器,但不适用于 iPhone。这是绘制方法:
- (void) draw
if(nuPoints_ <= 1)
return;
glBindTexture(GL_TEXTURE_2D, [texture_ name]);
glTexCoordPointer(2, GL_FLOAT, 0, texCoords_);
glVertexPointer(2, GL_FLOAT, 0, vertices_);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, colorPointer_);
BOOL newBlend = blendFunc_.src != CC_BLEND_SRC || blendFunc_.dst != CC_BLEND_DST;
if( newBlend )
glBlendFunc( blendFunc_.src, blendFunc_.dst );
glDrawArrays(GL_TRIANGLE_STRIP, 0, nuPoints_*2);
if( newBlend )
glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST);
(blendFunc 未设置为任何值)
vertices_ 和 nuPoints 都有正确的(数量)点,所以问题肯定出在这个方法上。
【问题讨论】:
你解决过这个问题吗? 好的。如果你有我会建议回答你自己的问题。也许我会尝试解决它。 【参考方案1】:您粘贴的代码没有发现任何错误,因此在此之前或之后一定有问题。
试着在抽奖后放上这样的东西
GLenum err = glGetError();
if (err != GL_NO_ERROR)
NSLog(@"Render Error 0x%04X", err);
看看是否弹出任何 GL 错误,我总是在我的主绘制循环中将其中一个注释掉,它已经救了我很多次。
【讨论】:
以上是关于分段线仅在 iPhone 上绘制第一段。在模拟器中完美运行的主要内容,如果未能解决你的问题,请参考以下文章
音频引擎仅在运行 iOS 10 的设备(iphone 6)上失败,在所有模拟器设备上运行良好或真实设备直到 iphone 6s
仅在模拟器 iPhone6 中首次启动时出现位置权限问题 - XCode 9.4.1