Panda3D
dxIndexBufferContext9.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 dxIndexBufferContext9.h
10  * @author drose
11  * @date 2005-03-18
12  */
13 
14 #ifndef DXINDEXBUFFERCONTEXT9_H
15 #define DXINDEXBUFFERCONTEXT9_H
16 
17 #include "pandabase.h"
18 #include "dxgsg9base.h"
19 #include "indexBufferContext.h"
20 
21 /**
22  * Caches a GeomPrimitive in the DirectX device as an index buffer.
23  */
24 class EXPCL_PANDADX DXIndexBufferContext9 : public IndexBufferContext {
25 public:
27  virtual ~DXIndexBufferContext9();
28 
29  virtual void evict_lru();
30 
31  void free_ibuffer();
32  void allocate_ibuffer(DXScreenData &scrn, const GeomPrimitivePipelineReader *reader);
33  void create_ibuffer(DXScreenData &scrn, const GeomPrimitivePipelineReader *reader);
34  bool upload_data(const GeomPrimitivePipelineReader *reader, bool force);
35 
36  IDirect3DIndexBuffer9 *_ibuffer;
37  int _managed;
38 
39 public:
40  static TypeHandle get_class_type() {
41  return _type_handle;
42  }
43  static void init_type() {
44  IndexBufferContext::init_type();
45  register_type(_type_handle, "DXIndexBufferContext9",
46  IndexBufferContext::get_class_type());
47  }
48  virtual TypeHandle get_type() const {
49  return get_class_type();
50  }
51  virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
52 
53 private:
54  static TypeHandle _type_handle;
55 };
56 
57 #include "dxIndexBufferContext9.I"
58 
59 #endif
PreparedGraphicsObjects
A table of objects that are saved within the graphics context for reference by handle later.
Definition: preparedGraphicsObjects.h:58
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
IndexBufferContext
This is a special class object that holds all the information returned by a particular GSG to indicat...
Definition: indexBufferContext.h:33
register_type
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
Definition: register_type.I:22
dxgsg9base.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
indexBufferContext.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
TypeHandle
TypeHandle is the identifier used to differentiate C++ class types.
Definition: typeHandle.h:81
DXIndexBufferContext9
Caches a GeomPrimitive in the DirectX device as an index buffer.
Definition: dxIndexBufferContext9.h:24
AdaptiveLruPage::evict_lru
virtual void evict_lru()
Evicts the page from the LRU.
Definition: adaptiveLru.cxx:513
dxIndexBufferContext9.I
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
DXScreenData
Definition: dxgsg9base.h:200
GeomPrimitivePipelineReader
Encapsulates the data from a GeomPrimitive, pre-fetched for one stage of the pipeline.
Definition: geomPrimitive.h:352
GeomPrimitive
This is an abstract base class for a family of classes that represent the fundamental geometry primit...
Definition: geomPrimitive.h:56