Panda3D

Loading...
Searching...
No Matches
drawCullHandler.h
Go to the documentation of this file.
1/**
2 * PANDA 3D SOFTWARE
3 * Copyright (c) Carnegie Mellon University. All rights reserved.
4 *
5 * All use of this software is subject to the terms of the revised BSD
6 * license. You should have received a copy of this license along
7 * with this source code in a file named "LICENSE."
8 *
9 * @file drawCullHandler.h
10 * @author drose
11 * @date 2002-02-25
12 */
13
14#ifndef DRAWCULLHANDLER_H
15#define DRAWCULLHANDLER_H
16
17#include "pandabase.h"
18#include "cullHandler.h"
19
20 class GraphicsStateGuardianBase;
21
22/**
23 * This special kind of CullHandler immediately draws its contents as soon as
24 * it receives them. This draws geometry immediately as it is encountered in
25 * the scene graph by cull, mixing the draw and cull traversals into one
26 * traversal, and prohibiting state sorting. However, it has somewhat lower
27 * overhead than separating out draw and cull, if state sorting and
28 * multiprocessing are not required.
29 */
30 class EXPCL_PANDA_CULL DrawCullHandler : public CullHandler {
31 public:
32 INLINE DrawCullHandler(GraphicsStateGuardianBase *gsg);
33
34 virtual void record_object(CullableObject *object,
35 const CullTraverser *traverser);
36
37 private:
38 GraphicsStateGuardianBase *_gsg;
39};
40
41#include "drawCullHandler.I"
42
43#endif
CullHandler::record_object
virtual void record_object(CullableObject *object, const CullTraverser *traverser)
This callback function is intended to be overridden by a derived class.
Definition cullHandler.cxx:43
CullTraverser
This object performs a depth-first traversal of the scene graph, with optional view-frustum culling,...
Definition cullTraverser.h:45
CullableObject
The smallest atom of cull.
Definition cullableObject.h:41
GraphicsStateGuardianBase
This is a base class for the GraphicsStateGuardian class, which is itself a base class for the variou...
Definition graphicsStateGuardianBase.h:110
cullHandler.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
drawCullHandler.I
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.