269- (void) drawImmediate:(
bool)immediate translucent:(
bool)translucent
274 assert(player !=
nil);
282 BOOL useShader = (shaderMode == kShaderModeOn);
286 GLfloat *fogcolor = [UNIVERSE skyClearColor];
287 float idealDustSize = [[UNIVERSE gameView] viewSize].width / 800.0f;
294 OOGL(glDisableClientState(GL_NORMAL_ARRAY));
299 float dustPointSize = ceil(idealDustSize);
300 if (dustPointSize < 1.0f) dustPointSize = 1.0f;
302 dustIntensity = OOClamp_0_1_f(idealDustSize / dustPointSize);
307 float idealLineSize = idealDustSize * 0.5f;
308 float dustLineSize = ceil(idealLineSize);
309 if (dustLineSize < 1.0f) dustLineSize = 1.0f;
311 dustIntensity = OOClamp_0_1_f(idealLineSize / dustLineSize);
313 if (fogcolor[3] > 0.0)
316 dustIntensity = OOClamp_0_1_f(dustIntensity-(fogcolor[3]*3.0));
320 if (dustIntensity > 0.0)
325 else color =
UNIVERSE->stars_ambient;
326 OOGL(glColor4f(color[0], color[1], color[2], dustIntensity));
331 [[
self shader] apply];
332 [
uniforms makeObjectsPerformSelector:@selector(apply)];
337 OOGL(glEnable(GL_FOG));
338 OOGL(glFogi(GL_FOG_MODE, GL_LINEAR));
339 OOGL(glFogfv(GL_FOG_COLOR, fogcolor));
340 OOGL(glHint(GL_FOG_HINT, GL_NICEST));
345 OOGL(glEnable(GL_BLEND));
346 OOGL(glDepthMask(GL_FALSE));
350 OOGL(glDisable(GL_TEXTURE_2D));
354 OOGL(glEnableVertexAttribArrayARB(kTangentAttributeIndex));
355 OOGL(glVertexAttribPointerARB(kTangentAttributeIndex, 1, GL_FLOAT, GL_FALSE, 0, warpinessAttr));
374 OOGL(glDisableVertexAttribArrayARB(kTangentAttributeIndex));
377 OOGL(glEnable(GL_TEXTURE_2D));
388 OOGL(glBlendFunc(GL_SRC_ALPHA, GL_ONE));
390 OOGL(glEnable(GL_POINT_SPRITE_ARB));
394 OOGL(glDisable(GL_POINT_SPRITE_ARB));
398 OOGL(glDisable(GL_TEXTURE_2D));
401 OOGL(glEnable(GL_TEXTURE_2D));
414 OOGL(glDisable(GL_FOG));
415 OOGL(glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA));
418 OOGL(glDisable(GL_BLEND));
419 OOGL(glDepthMask(GL_TRUE));
422 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)