Visualization LibraryA lightweight C++ OpenGL middleware for 2D/3D graphics |
[Home] [Tutorials] [All Classes] [Grouped Classes] |
#include <DepthSortCallback.hpp>

Classes | |
| class | Line |
| class | Point |
| class | PrimitiveZ |
| class | Quad |
| class | Sorter_Back_To_Front |
| class | Sorter_Front_To_Back |
| class | Triangle |
Public Member Functions | |
| DepthSortCallback () | |
| virtual const char * | className () |
| Returns the name of the class. | |
| virtual void | operator() (const Camera *cam, Actor *actor, Renderable *renderable, const Shader *, int pass) |
| Performs the actual sorting. | |
| template<typename T , typename deT > | |
| void | sort (deT *polys, std::vector< Point< T > > &sorted_points, std::vector< Line< T > > &sorted_lines, std::vector< Triangle< T > > &sorted_triangles, std::vector< Quad< T > > &sorted_quads) |
| ESortMode | sortMode () const |
| void | setSortMode (ESortMode sort_mode) |
| void | invalidateCache () |
| Forces sorting at the next rendering. | |
Protected Attributes | |
| ref< ArrayFVec3 > | mEyeSpaceVerts |
| std::vector< PrimitiveZ > | mPrimitiveZ |
| std::vector< PointUInt > | mSortedPointsUInt |
| std::vector< LineUInt > | mSortedLinesUInt |
| std::vector< TriangleUInt > | mSortedTrianglesUInt |
| std::vector< QuadUInt > | mSortedQuadsUInt |
| std::vector< PointUShort > | mSortedPointsUShort |
| std::vector< LineUShort > | mSortedLinesUShort |
| std::vector< TriangleUShort > | mSortedTrianglesUShort |
| std::vector< QuadUShort > | mSortedQuadsUShort |
| std::vector< PointUByte > | mSortedPointsUByte |
| std::vector< LineUByte > | mSortedLinesUByte |
| std::vector< TriangleUByte > | mSortedTrianglesUByte |
| std::vector< QuadUByte > | mSortedQuadsUByte |
| vl::mat4 | mCacheMatrix |
| ESortMode | mSortMode |
This callback in order to work requires the following conditions:
Despite the fact that the condition list seems to be quite limiting it actually covers the most common usage cases. Furthermore the use of DrawElements* and the primitive types PT_POINTS, PT_LINES, PT_TRIANGLES, PT_QUADS grant the maximum flexibility.
| vl::DepthSortCallback::DepthSortCallback | ( | ) | [inline] |
| virtual const char* vl::DepthSortCallback::className | ( | ) | [inline, virtual] |
| virtual void vl::DepthSortCallback::operator() | ( | const Camera * | cam, | |
| Actor * | actor, | |||
| Renderable * | renderable, | |||
| const Shader * | , | |||
| int | pass | |||
| ) | [inline, virtual] |
| void vl::DepthSortCallback::sort | ( | deT * | polys, | |
| std::vector< Point< T > > & | sorted_points, | |||
| std::vector< Line< T > > & | sorted_lines, | |||
| std::vector< Triangle< T > > & | sorted_triangles, | |||
| std::vector< Quad< T > > & | sorted_quads | |||
| ) | [inline] |
| ESortMode vl::DepthSortCallback::sortMode | ( | ) | const [inline] |
| void vl::DepthSortCallback::setSortMode | ( | ESortMode | sort_mode | ) | [inline] |
| void vl::DepthSortCallback::invalidateCache | ( | ) | [inline] |
Forces sorting at the next rendering.
ref<ArrayFVec3> vl::DepthSortCallback::mEyeSpaceVerts [protected] |
std::vector<PrimitiveZ> vl::DepthSortCallback::mPrimitiveZ [protected] |
std::vector<PointUInt> vl::DepthSortCallback::mSortedPointsUInt [protected] |
std::vector<LineUInt> vl::DepthSortCallback::mSortedLinesUInt [protected] |
std::vector<TriangleUInt> vl::DepthSortCallback::mSortedTrianglesUInt [protected] |
std::vector<QuadUInt> vl::DepthSortCallback::mSortedQuadsUInt [protected] |
std::vector<PointUShort> vl::DepthSortCallback::mSortedPointsUShort [protected] |
std::vector<LineUShort> vl::DepthSortCallback::mSortedLinesUShort [protected] |
std::vector<TriangleUShort> vl::DepthSortCallback::mSortedTrianglesUShort [protected] |
std::vector<QuadUShort> vl::DepthSortCallback::mSortedQuadsUShort [protected] |
std::vector<PointUByte> vl::DepthSortCallback::mSortedPointsUByte [protected] |
std::vector<LineUByte> vl::DepthSortCallback::mSortedLinesUByte [protected] |
std::vector<TriangleUByte> vl::DepthSortCallback::mSortedTrianglesUByte [protected] |
std::vector<QuadUByte> vl::DepthSortCallback::mSortedQuadsUByte [protected] |
vl::mat4 vl::DepthSortCallback::mCacheMatrix [protected] |
ESortMode vl::DepthSortCallback::mSortMode [protected] |