繁体   English   中英

iOS GL ES 2应用在设备上崩溃,但在模拟器上没有崩溃

[英]iOS GL ES 2 app crashes on device but not on simulator

我有一个带有多个渲染目标/帧缓冲区的应用程序,并且在一次调用glDrawElements的过程中,该应用程序在设备(iPad iOS 5.0)上崩溃,但在模拟器中没有崩溃。 这是一个着色器非常密集的应用程序,具有十二种不同的着色器和数千个顶点缓冲区。

进一步调试问题使我相信崩溃是由于特定的着色器而发生的,但是着色器是有效的,正在写入的帧缓冲区对象也是如此。

好的,因此在花费大量时间进行调试之后,我发现我的景深着色器导致崩溃,尤其是此功能:

float GetNearFalloff( float Depth, float MinDist, float MaxDist)
{
    float Range = MaxDist - MinDist;
    if (Depth < MinDist)
        return 1.0;
    /*else*/if (Depth > MaxDist)
        return 0.0;

    float Blur = 1.0 - ( (Depth - MinDist) / Range );
    return Blur;
}

基本上,评论的其他地方导致了我的崩溃。 删除所有内容即可。 我实际上把它放回去(我想可能是别的东西),只是看到在几次着色器重新编译后,使用相同的修复程序出现了相同的崩溃,删除了else

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM