2014-01-30 1 views
0

У меня есть визуализированный вид с кубом на нем (хорошо и просто). Я включил освещение с использованием GLKBaseEffect, который хорошо работает.Включить туман в GLKit

Я сейчас хочу, чтобы включить туман и поэтому я подумал, что это позволит ему

self.effect = [[GLKBaseEffect alloc] init]; 
self.effect.light0.enabled = GL_TRUE; 
self.effect.light0.diffuseColor = GLKVector4Make(1.0f, 0.4f, 0.4f, 1.0f); 

self.effect.fog.enabled = YES; 
self.effect.fog.color = GLKVector4Make(1.0f, 1.4f, 1.4f, 1.0f); 
self.effect.fog.mode = GLKFogModeExp; 
self.effect.fog.density = 1; 

Что мне не хватает?

Второй вопрос: должен ли GLKBaseEffect быть на объект или на GLView?

ответ

0

Это действительно работало, но мне нужно было подготовитьToDraw для каждого объекта. Это вызвало довольно сильный FPS, и поэтому я вернулся к использованию обычных шейдеров OpenGL 2.0.

self.effect.fog.color = GLKVector4Make(0.3 ,0.3, 0.3, 0.8); 
self.effect.fog.enabled = YES; 
self.effect.fog.start = 20; 
self.effect.fog.end = 30; 
self.effect.fog.mode = GLKFogModeLinear;