AstroMine
(*
In UFO gibt es zwei grundlegende RenderStates: normale "solide" Objekte, und
explodierende Objekte, die langsam in den Hintergrund faden - beide Rendereinstellungen
werden hier definiert.
*)
procedure MakeStandardRS(RS: TRenderSettings);
begin
  RS.SetColor(False, 1.0, 1.0, 0.5, 1);
  RS.SetColorMaterial(csDisable, GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
  RS.SetBlendFunc(csDisable, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  RS.SetDepthTest(csEnable, GL_LESS);
end;

procedure MakeExplosionRS(RS: TRenderSettings);
begin
  RS.SetColor(True, 1.0, 1.0, 0.5, 1);
  RS.SetColorMaterial(csUpdate, GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
  RS.SetBlendFunc(csUpdate, GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  RS.SetDepthTest(csDisable, GL_LESS);
end;