2014-01-30 5 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; 

수 있도록 것이라고 생각?

두 번째 질문은 개체 당 GLView 당 GLKBaseEffect가 있어야합니까?

답변

0

이것은 실제로 작동했지만 각 객체에서 prepareToDraw를해야했습니다. 그 결과 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;