2013-06-08 2 views
0

Я хочу использовать GLKBaseEffect для окраски моего 3DModel. Я создал examplar из GLKBaseEffectGLKBaseEffect set Постоянный цвет

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); 

Но цвет в модели не меняется. Что я пропустил?

+0

effect.Mterial.SpecularColor = new Vector4 (2.5f, 2.5f, 2.5f, 0.1f); –

ответ

0

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

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

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

Смежные вопросы