267- (void) drawImmediate:(
bool)immediate translucent:(
bool)translucent
269 if ([
UNIVERSE breakPatternHide] || !translucent)
return;
272 assert(player !=
nil);
280 BOOL useShader = (shaderMode == kShaderModeOn);
284 GLfloat *fogcolor = [UNIVERSE skyClearColor];
285 float idealDustSize = [[UNIVERSE gameView] viewSize].width / 800.0f;
292 OOGL(glDisableClientState(GL_NORMAL_ARRAY));
297 float dustPointSize = ceil(idealDustSize);
298 if (dustPointSize < 1.0f) dustPointSize = 1.0f;
300 dustIntensity = OOClamp_0_1_f(idealDustSize / dustPointSize);
305 float idealLineSize = idealDustSize * 0.5f;
306 float dustLineSize = ceil(idealLineSize);
307 if (dustLineSize < 1.0f) dustLineSize = 1.0f;
309 dustIntensity = OOClamp_0_1_f(idealLineSize / dustLineSize);
311 if (fogcolor[3] > 0.0)
314 dustIntensity = OOClamp_0_1_f(dustIntensity-(fogcolor[3]*3.0));
318 if (dustIntensity > 0.0)
323 else color =
UNIVERSE->stars_ambient;
324 OOGL(glColor4f(color[0], color[1], color[2], dustIntensity));
329 [[
self shader] apply];
330 [
uniforms makeObjectsPerformSelector:@selector(apply)];
335 OOGL(glEnable(GL_FOG));
336 OOGL(glFogi(GL_FOG_MODE, GL_LINEAR));
337 OOGL(glFogfv(GL_FOG_COLOR, fogcolor));
338 OOGL(glHint(GL_FOG_HINT, GL_NICEST));
343 OOGL(glEnable(GL_BLEND));
344 OOGL(glDepthMask(GL_FALSE));
348 OOGL(glDisable(GL_TEXTURE_2D));
352 OOGL(glEnableVertexAttribArrayARB(kTangentAttributeIndex));
353 OOGL(glVertexAttribPointerARB(kTangentAttributeIndex, 1, GL_FLOAT, GL_FALSE, 0, warpinessAttr));
372 OOGL(glDisableVertexAttribArrayARB(kTangentAttributeIndex));
375 OOGL(glEnable(GL_TEXTURE_2D));
386 OOGL(glBlendFunc(GL_SRC_ALPHA, GL_ONE));
388 OOGL(glEnable(GL_POINT_SPRITE_ARB));
392 OOGL(glDisable(GL_POINT_SPRITE_ARB));
396 OOGL(glDisable(GL_TEXTURE_2D));
399 OOGL(glEnable(GL_TEXTURE_2D));
412 OOGL(glDisable(GL_FOG));
413 OOGL(glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA));
416 OOGL(glDisable(GL_BLEND));
417 OOGL(glDepthMask(GL_TRUE));
420 OOGL(glEnableClientState(GL_NORMAL_ARRAY));
id textureWithName:inFolder:options:anisotropy:lodBias:(NSString *name,[inFolder] NSString *directory,[options] OOTextureFlags options,[anisotropy] GLfloat anisotropy,[lodBias] GLfloat lodBias)