- - Erstelle Mesh-Daten in mehren VBOs, sortiert nach Material
- - Erstelle ein Licht
- while Rendern do
- begin
- für jedes Licht:
- ErstelleTiefentextur
- Clear;
- glLoadMatrix(Betrachter);
- Tiefentexture binden;
- ZeichneSzene();
- end;
- method ErstelleTiefentextur()
- begin
- glLoadMatrix(LichtMatrix);
- glColorMask(FALSE, FALSE, FALSE, FALSE);
- ZeicheSzene();
- Tiefenbuffer in Textur speichern;
- glColorMask(TRUE, TRUE, TRUE, TRUE);
- end;
- method ZeichneSzene()
- begin
- für jeden VBO
- begin
- if not Tiefenpass then
- VBO.Material.Bind;
- VBO.Bind;
- VBO.Render;
- VBO.Unbind;
- if not Tiefenpass then
- VBO.Material.Unbind;
- end;
- end;