- SetDefaults();
- Surfaces.Sort(new[] { //das Sort lässt sich genau wie Shader usw. ohne Probleme Cachen
- MaterialFlags.drawDeferred,
- MaterialFlags.drawForward,
- MaterialFlags.drawConst
- }).each( function() {
- switch(current.flag)
- {
- default:
- current.WriteDeferred();
- if(next == null || next.flag != current.flag)
- {
- Light.each(function() {
- //Fullscreen Quad NUR in den Colorbuffer zeichnen
- });
- }
- return;
- case drawForward:
- Lights.each({
- current.Write(); //z.B. für Flächen mit Konstanten Alpha
- });
- break;
- case drawConst:
- current.Write();
- break;
- }
- });