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 ответ

Я могу думать о двух причинах. Я только сейчас изучаю OpenGL ES 2.0, и мой ответ ограничен тем, что я только что изучил.

Во-первых, возможно, ваш рисунок произошел до установки базового эффекта.

Во-вторых, контекст, в котором вы устанавливаете базовый эффект, может не стать текущим контекстом до того, как вы начнете рисовать.

Другие вопросы по тегам