GLKBaseEffect设置常量颜色

时间:2013-06-08 06:50:51

标签: opengl-es-2.0 opentk glkbaseeffect

我想使用GLKBaseEffect为我的3DModel着色。 我创建了GLKBaseEffect的示例

GLKBaseEffect effect;

当我设置OpenGL时,我写道:

effect = new GLKBaseEffect();

当我画出我的身材时,我会使用效果:

effect.Light0.SpecularColor = new Vector4 (2.5f, 2.5f, 2.5f, 0.1f);
effect.UseConstantColor = true;
effect.Transform.ModelViewMatrix = modelViewMatrix;
effect.PrepareToDraw ();

我使用ConstantColor设置颜色:

effect.ConstantColor = new Vector4(1.0f, 1.0f, 0.0f, 1.0f);

但模型中的颜色不会改变。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我能想到两个原因。我现在正在学习OpenGL ES 2.0,我的答案仅限于我刚学到的内容。

首先,也许你的绘图发生在设置基础效果之前。

其次,在您绘制之前,您设置基本效果的上下文可能不会成为当前上下文。