Ios5 GLKBaseEffect:light+;质地

Ios5 GLKBaseEffect:light+;质地,ios5,textures,glkit,light,glkbaseeffect,Ios5,Textures,Glkit,Light,Glkbaseeffect,我试图用纹理显示一些简单的对象,并在场景中启用聚光灯。我使用了glkbaseffect的纹理和灯光 当禁用纹理时-我可以看到灯光效果(当我旋转对象时,它部分变暗,如预期的)。但当我启用纹理时(使用GLKTextureInfo加载它们并绑定到-(void)glkView:drawInRect:),灯光效果就会消失 我试图在谷歌上搜索并重新阅读苹果的文档,但仍然找不到答案 更新: 下面是我用来设置灯光的代码: _effect.lightingType = GLKLightingTypePerPixe

我试图用纹理显示一些简单的对象,并在场景中启用聚光灯。我使用了
glkbaseffect的
纹理和灯光

当禁用纹理时-我可以看到灯光效果(当我旋转对象时,它部分变暗,如预期的)。但当我启用纹理时(使用
GLKTextureInfo
加载它们并绑定到
-(void)glkView:drawInRect:
),灯光效果就会消失

我试图在谷歌上搜索并重新阅读苹果的文档,但仍然找不到答案

更新:

下面是我用来设置灯光的代码:

_effect.lightingType = GLKLightingTypePerPixel;
_effect.lightModelAmbientColor = GLKVector4Make(.3f, .3f, .3f, 1);
_effect.colorMaterialEnabled = GL_TRUE;

_effect.light0.enabled = GL_TRUE;
_effect.light0.spotCutoff = [[PRSettings instance] floatForKey:PRSettingsKeyLightSpotCutoff];
_effect.light0.spotExponent = [[PRSettings instance] floatForKey:PRSettingsKeyLightExponent];
_effect.light0.diffuseColor = _effect.light0.specularColor = GLKVector4Make(1, 1, 1, 1);
_effect.light0.position = GLKVector4Make(0, 0, 0, 1);
[_effect prepareToDraw];

如果我调用此代码两次,灯光将以某种方式禁用。即使没有纹理-第二次呼叫-我也没有光。

简单回答。。。应使用
\u effect.texture2d0.envMode=GLKTextureEnvModeModulate混合输入颜色(灯光的颜色)和纹理