Panda3D
eggToBam.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 eggToBam.h
10  * @author drose
11  * @date 2000-06-28
12  */
13 
14 #ifndef EGGTOBAM_H
15 #define EGGTOBAM_H
16 
17 #include "pandatoolbase.h"
18 
19 #include "eggToSomething.h"
20 #include "pset.h"
21 #include "graphicsPipe.h"
22 
23 class PandaNode;
24 class RenderState;
25 class Texture;
26 class GraphicsEngine;
28 class GraphicsOutput;
29 
30 /**
31  *
32  */
33 class EggToBam : public EggToSomething {
34 public:
35  EggToBam();
36 
37  void run();
38 
39 protected:
40  virtual bool handle_args(Args &args);
41 
42 private:
43  void collect_textures(PandaNode *node);
44  void collect_textures(const RenderState *state);
45  void convert_txo(Texture *tex);
46 
47  bool make_buffer();
48 
49 private:
50  typedef pset<Texture *> Textures;
51  Textures _textures;
52 
53  bool _has_egg_flatten;
54  int _egg_flatten;
55  bool _has_egg_combine_geoms;
56  int _egg_combine_geoms;
57  bool _egg_suppress_hidden;
58  bool _ls;
59  bool _has_compression_quality;
60  int _compression_quality;
61  bool _compression_off;
62  bool _tex_rawdata;
63  bool _tex_txo;
64  bool _tex_txopz;
65  bool _tex_ctex;
66  bool _tex_mipmap;
67  std::string _ctex_quality;
68  std::string _load_display;
69 
70  // The rest of this is required to support -ctex.
71  PT(GraphicsPipe) _pipe;
73  GraphicsEngine *_engine;
74  GraphicsOutput *_buffer;
75 };
76 
77 #endif
A basic node of the scene graph or data graph.
Definition: pandaNode.h:64
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
Definition: texture.h:71
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
An object to create GraphicsOutputs that share a particular 3-D API.
Definition: graphicsPipe.h:52
This is a base class for the various different classes that represent the result of a frame of render...
This represents a unique collection of RenderAttrib objects that correspond to a particular renderabl...
Definition: renderState.h:47
This is the general base class for a file-converter program that reads some model file format and gen...
Encapsulates all the communication with a particular instance of a given rendering backend.
This class is the main interface to controlling the render process.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.