0

我想使用 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);

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

4

1 回答 1

0

我可以想到两个原因。我现在只是在学习 OpenGL ES 2.0,我的回答仅限于我到目前为止所学的内容。

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

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

于 2013-11-14T01:33:43.453 回答