44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
|
/**
|
||
|
* PANDA 3D SOFTWARE
|
||
|
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
*
|
||
|
* All use of this software is subject to the terms of the revised BSD
|
||
|
* license. You should have received a copy of this license along
|
||
|
* with this source code in a file named "LICENSE."
|
||
|
*
|
||
|
* @file drawCullHandler.h
|
||
|
* @author drose
|
||
|
* @date 2002-02-25
|
||
|
*/
|
||
|
|
||
|
#ifndef DRAWCULLHANDLER_H
|
||
|
#define DRAWCULLHANDLER_H
|
||
|
|
||
|
#include "pandabase.h"
|
||
|
#include "cullHandler.h"
|
||
|
|
||
|
class GraphicsStateGuardianBase;
|
||
|
|
||
|
/**
|
||
|
* This special kind of CullHandler immediately draws its contents as soon as
|
||
|
* it receives them. This draws geometry immediately as it is encountered in
|
||
|
* the scene graph by cull, mixing the draw and cull traversals into one
|
||
|
* traversal, and prohibiting state sorting. However, it has somewhat lower
|
||
|
* overhead than separating out draw and cull, if state sorting and
|
||
|
* multiprocessing are not required.
|
||
|
*/
|
||
|
class EXPCL_PANDA_CULL DrawCullHandler : public CullHandler {
|
||
|
public:
|
||
|
INLINE DrawCullHandler(GraphicsStateGuardianBase *gsg);
|
||
|
|
||
|
virtual void record_object(CullableObject *object,
|
||
|
const CullTraverser *traverser);
|
||
|
|
||
|
private:
|
||
|
GraphicsStateGuardianBase *_gsg;
|
||
|
};
|
||
|
|
||
|
#include "drawCullHandler.I"
|
||
|
|
||
|
#endif
|