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, и мой ответ ограничен тем, что я только что изучил.
Во-первых, возможно, ваш рисунок произошел до установки базового эффекта.
Во-вторых, контекст, в котором вы устанавливаете базовый эффект, может не стать текущим контекстом до того, как вы начнете рисовать.