Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone上活动顶点着色器采样器的实现限制_Iphone_Ios_Opengl Es 2.0_Glsl - Fatal编程技术网

iPhone上活动顶点着色器采样器的实现限制

iPhone上活动顶点着色器采样器的实现限制,iphone,ios,opengl-es-2.0,glsl,Iphone,Ios,Opengl Es 2.0,Glsl,我正在尝试在iPhone的顶点着色器中使用采样器。表示PowerVR SGX不支持此功能。然而,它似乎让它在模拟器中工作,尽管不是没有问题 当我尝试在模拟器(iOS 6)中运行此操作时,在编译着色器时收到以下错误消息: ERROR: Implementation limit of 0 active vertex shader samplers (e.g., maximum number of supported image units) exceeded, vertex shader use

我正在尝试在iPhone的顶点着色器中使用采样器。表示PowerVR SGX不支持此功能。然而,它似乎让它在模拟器中工作,尽管不是没有问题

当我尝试在模拟器(iOS 6)中运行此操作时,在编译着色器时收到以下错误消息:

ERROR: Implementation limit of 0 active vertex shader samplers 
(e.g., maximum number of supported image units) exceeded, 
vertex shader uses 1 samplers

自从被问到这个问题后,发生了什么变化?他们只是添加了一条(正确的!)错误消息吗?或者现在是否可以在顶点着色器中使用采样器?FingersCross…

我有一个完全相同的问题,所以我在WWDC问了几个苹果的OpenGL ES工程师。据他们说,在iOS 4.x的某些设备上,支持从顶点着色器中的纹理进行采样是一个bug,而在iOS 5.x中,这一点已被删除


它从未得到过官方支持,而这个新的错误消息只是描述了它失败的原因。在iOS5.x和大多数运行iOS4.x的设备上,如果您尝试此操作,只会得到一个黑屏,并且没有任何警告。他们所做的只是为这种行为添加一些解释。

您能提供着色器代码吗?谢谢!这就是我所怀疑的。看起来我必须在片段着色器中执行锁定,这很好,但在顶点着色器中会快得多:-(@hanno-你可以更具创造性地将查找信息加载到属性中,就像我在这里所做的那样:。但是,这在你的情况下可能不起作用。谢谢你的聪明主意!这可能确实有效,但我有点悲观,我认为在我的情况下它会更快(我的例子是一个基于GPU的光线跟踪器,用于渲染银河系中不透明的尘埃)。如果您感兴趣,这就是我取得的进展:我刚刚实现了您的想法,将其渲染到离屏FBO,并将结果用作纹理查找。它可以工作,而且速度相当快!再次感谢。@hanno-听起来您现在正在片段着色器中进行光线跟踪,对吗?出于好奇,您为什么要使用顶点着色器f还是这本书?