X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fzsortedscene.h;h=277d62cf7ac080ed8aa70d4b132e1f4bbf636f48;hb=190a7e11237351f6b730c28f7b16f183e8adc69c;hp=6806547235962793fc976d7613d28e49ed516708;hpb=38712d8ecc57d043a2419ffbaeeb57f7a6586f14;p=libs%2Fgl.git diff --git a/source/render/zsortedscene.h b/source/render/zsortedscene.h index 68065472..277d62cf 100644 --- a/source/render/zsortedscene.h +++ b/source/render/zsortedscene.h @@ -10,20 +10,23 @@ namespace GL { enum SortOrder { - FRONT_TO_BACK, - BACK_TO_FRONT + FRONT_TO_BACK = 0, + BACK_TO_FRONT = 1 }; enum DepthReference { - CLOSEST, - CENTER, - FURTHEST + CLOSEST = 0, + CENTER = 1, + FURTHEST = 2 }; /** -Sorts renderables by their distance from the camera before rendering. Requires -renderables to have a matrix. +A scene which sorts renderables by their distance from the camera before +rendering. + +Renderables must have valid model matrices to be sorted. Those without a +matrix are sorted as closest to the camera. */ class ZSortedScene: public Scene { @@ -42,7 +45,7 @@ private: bool operator<(const SortedRenderable &o) const { return depth renderables; + std::vector renderables; SortOrder order = BACK_TO_FRONT; DepthReference reference = FURTHEST; mutable std::vector sorted_cache;