historical/toontown-classic.git/panda/include/drawCullHandler.h
2024-01-16 11:20:27 -06:00

43 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