|  | 
|  | OcclusionBuffer (Context *context) | 
|  | Construct. 
 | 
|  | 
|  | ~OcclusionBuffer () override | 
|  | Destruct. 
 | 
|  | 
| bool | SetSize (int width, int height, bool threaded) | 
|  | Set occlusion buffer size and whether to reserve multiple buffers for threading optimization. 
 | 
|  | 
| void | SetView (Camera *camera) | 
|  | Set camera view to render from. 
 | 
|  | 
| void | SetMaxTriangles (unsigned triangles) | 
|  | Set maximum triangles to render. 
 | 
|  | 
| void | SetCullMode (CullMode mode) | 
|  | Set culling mode. 
 | 
|  | 
| void | Reset () | 
|  | Reset number of triangles. 
 | 
|  | 
| void | Clear () | 
|  | Clear the buffer. 
 | 
|  | 
| bool | AddTriangles (const Matrix3x4 &model, const void *vertexData, unsigned vertexSize, unsigned vertexStart, unsigned vertexCount) | 
|  | Submit a triangle mesh to the buffer using non-indexed geometry. Return true if did not overflow the allowed triangle count. 
 | 
|  | 
| bool | AddTriangles (const Matrix3x4 &model, const void *vertexData, unsigned vertexSize, const void *indexData, unsigned indexSize, unsigned indexStart, unsigned indexCount) | 
|  | Submit a triangle mesh to the buffer using indexed geometry. Return true if did not overflow the allowed triangle count. 
 | 
|  | 
| void | DrawTriangles () | 
|  | Draw submitted batches. Uses worker threads if enabled during SetSize(). 
 | 
|  | 
| void | BuildDepthHierarchy () | 
|  | Build reduced size mip levels. 
 | 
|  | 
| void | ResetUseTimer () | 
|  | Reset last used timer. 
 | 
|  | 
| int * | GetBuffer () const | 
|  | Return highest level depth values. 
 | 
|  | 
| const Matrix3x4 & | GetView () const | 
|  | Return view transform matrix. 
 | 
|  | 
| const Matrix4 & | GetProjection () const | 
|  | Return projection matrix. 
 | 
|  | 
| int | GetWidth () const | 
|  | Return buffer width. 
 | 
|  | 
| int | GetHeight () const | 
|  | Return buffer height. 
 | 
|  | 
| unsigned | GetNumTriangles () const | 
|  | Return number of rendered triangles. 
 | 
|  | 
| unsigned | GetMaxTriangles () const | 
|  | Return maximum number of triangles. 
 | 
|  | 
| CullMode | GetCullMode () const | 
|  | Return culling mode. 
 | 
|  | 
| bool | IsThreaded () const | 
|  | Return whether is using threads to speed up rendering. 
 | 
|  | 
| bool | IsVisible (const BoundingBox &worldSpaceBox) const | 
|  | Test a bounding box for visibility. For best performance, build depth hierarchy first. 
 | 
|  | 
| unsigned | GetUseTimer () | 
|  | Return time since last use in milliseconds. 
 | 
|  | 
| void | DrawBatch (const OcclusionBatch &batch, unsigned threadIndex) | 
|  | Draw a batch. Called internally. 
 | 
|  | 
|  | Object (Context *context) | 
|  | Construct. 
 | 
|  | 
|  | ~Object () override | 
|  | Destruct. Clean up self from event sender & receiver structures. 
 | 
|  | 
| virtual StringHash | GetType () const =0 | 
|  | 
| virtual const String & | GetTypeName () const =0 | 
|  | 
| virtual const TypeInfo * | GetTypeInfo () const =0 | 
|  | Return type info. 
 | 
|  | 
| virtual void | OnEvent (Object *sender, StringHash eventType, VariantMap &eventData) | 
|  | Handle event. 
 | 
|  | 
| bool | IsInstanceOf (StringHash type) const | 
|  | Check current instance is type of specified type. 
 | 
|  | 
| bool | IsInstanceOf (const TypeInfo *typeInfo) const | 
|  | Check current instance is type of specified type. 
 | 
|  | 
| template<typename T > | 
| bool | IsInstanceOf () const | 
|  | Check current instance is type of specified class. 
 | 
|  | 
| template<typename T > | 
| T * | Cast () | 
|  | Cast the object to specified most derived class. 
 | 
|  | 
| template<typename T > | 
| const T * | Cast () const | 
|  | Cast the object to specified most derived class. 
 | 
|  | 
| void | SubscribeToEvent (StringHash eventType, EventHandler *handler) | 
|  | Subscribe to an event that can be sent by any sender. 
 | 
|  | 
| void | SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler) | 
|  | Subscribe to a specific sender's event. 
 | 
|  | 
| void | SubscribeToEvent (StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|  | Subscribe to an event that can be sent by any sender. 
 | 
|  | 
| void | SubscribeToEvent (Object *sender, StringHash eventType, const std::function< void(StringHash, VariantMap &)> &function, void *userData=nullptr) | 
|  | Subscribe to a specific sender's event. 
 | 
|  | 
| void | UnsubscribeFromEvent (StringHash eventType) | 
|  | Unsubscribe from an event. 
 | 
|  | 
| void | UnsubscribeFromEvent (Object *sender, StringHash eventType) | 
|  | Unsubscribe from a specific sender's event. 
 | 
|  | 
| void | UnsubscribeFromEvents (Object *sender) | 
|  | Unsubscribe from a specific sender's events. 
 | 
|  | 
| void | UnsubscribeFromAllEvents () | 
|  | Unsubscribe from all events. 
 | 
|  | 
| void | UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData) | 
|  | Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events). 
 | 
|  | 
| void | SendEvent (StringHash eventType) | 
|  | Send event to all subscribers. 
 | 
|  | 
| void | SendEvent (StringHash eventType, VariantMap &eventData) | 
|  | Send event with parameters to all subscribers. 
 | 
|  | 
| VariantMap & | GetEventDataMap () const | 
|  | Return a preallocated map for event data. Used for optimization to avoid constant re-allocation of event data maps. 
 | 
|  | 
| template<typename... Args> | 
| void | SendEvent (StringHash eventType, Args... args) | 
|  | Send event with variadic parameter pairs to all subscribers. The parameter pairs is a list of paramID and paramValue separated by comma, one pair after another. 
 | 
|  | 
| Context * | GetContext () const | 
|  | Return execution context. 
 | 
|  | 
| const Variant & | GetGlobalVar (StringHash key) const | 
|  | 
| const VariantMap & | GetGlobalVars () const | 
|  | 
| void | SetGlobalVar (StringHash key, const Variant &value) | 
|  | 
| Object * | GetSubsystem (StringHash type) const | 
|  | Return subsystem by type. 
 | 
|  | 
| Object * | GetEventSender () const | 
|  | Return active event sender. Null outside event handling. 
 | 
|  | 
| EventHandler * | GetEventHandler () const | 
|  | Return active event handler. Null outside event handling. 
 | 
|  | 
| bool | HasSubscribedToEvent (StringHash eventType) const | 
|  | Return whether has subscribed to an event without specific sender. 
 | 
|  | 
| bool | HasSubscribedToEvent (Object *sender, StringHash eventType) const | 
|  | Return whether has subscribed to a specific sender's event. 
 | 
|  | 
| bool | HasEventHandlers () const | 
|  | Return whether has subscribed to any event. 
 | 
|  | 
| template<class T > | 
| T * | GetSubsystem () const | 
|  | Template version of returning a subsystem. 
 | 
|  | 
| const String & | GetCategory () const | 
|  | 
| void | SetBlockEvents (bool block) | 
|  | Block object from sending and receiving events. 
 | 
|  | 
| bool | GetBlockEvents () const | 
|  | Return sending and receiving events blocking status. 
 | 
|  | 
|  | RefCounted () | 
|  | Construct. Allocate the reference count structure and set an initial self weak reference. 
 | 
|  | 
| virtual | ~RefCounted () | 
|  | Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist. 
 | 
|  | 
|  | RefCounted (const RefCounted &rhs)=delete | 
|  | Prevent copy construction. 
 | 
|  | 
| RefCounted & | operator= (const RefCounted &rhs)=delete | 
|  | Prevent assignment. 
 | 
|  | 
| void | AddRef () | 
|  | 
| void | ReleaseRef () | 
|  | 
| int | Refs () const | 
|  | 
| int | WeakRefs () const | 
|  | 
| RefCount * | RefCountPtr () | 
|  | Return pointer to the reference count structure. 
 | 
|  | 
|  | 
|  | URHO3D_OBJECT (OcclusionBuffer, Object) | 
|  | 
| Vector4 | ModelTransform (const Matrix4 &transform, const Vector3 &vertex) const | 
|  | Apply modelview transform to vertex. 
 | 
|  | 
| Vector3 | ViewportTransform (const Vector4 &vertex) const | 
|  | Apply projection and viewport transform to vertex. 
 | 
|  | 
| Vector4 | ClipEdge (const Vector4 &v0, const Vector4 &v1, float d0, float d1) const | 
|  | Clip an edge. 
 | 
|  | 
| float | SignedArea (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2) const | 
|  | Return signed area of a triangle. If negative, is clockwise. 
 | 
|  | 
| void | CalculateViewport () | 
|  | Calculate viewport transform. 
 | 
|  | 
| void | DrawTriangle (Vector4 *vertices, unsigned threadIndex) | 
|  | Draw a triangle. 
 | 
|  | 
| void | ClipVertices (const Vector4 &plane, Vector4 *vertices, bool *triangles, unsigned &numTriangles) | 
|  | Clip vertices against a plane. 
 | 
|  | 
| void | DrawTriangle2D (const Vector3 *vertices, bool clockwise, unsigned threadIndex) | 
|  | Draw a clipped triangle. 
 | 
|  | 
| void | ClearBuffer (unsigned threadIndex) | 
|  | Clear a thread work buffer. 
 | 
|  | 
| void | MergeBuffers () | 
|  | Merge thread work buffers into the first buffer. 
 | 
|  | 
Software renderer for occlusion.