Panda3D
eggToBam.h
1 // Filename: eggToBam.h
2 // Created by: drose (28Jun00)
3 //
4 ////////////////////////////////////////////////////////////////////
5 //
6 // PANDA 3D SOFTWARE
7 // Copyright (c) Carnegie Mellon University. All rights reserved.
8 //
9 // All use of this software is subject to the terms of the revised BSD
10 // license. You should have received a copy of this license along
11 // with this source code in a file named "LICENSE."
12 //
13 ////////////////////////////////////////////////////////////////////
14 
15 #ifndef EGGTOBAM_H
16 #define EGGTOBAM_H
17 
18 #include "pandatoolbase.h"
19 
20 #include "eggToSomething.h"
21 #include "pset.h"
22 #include "graphicsPipe.h"
23 
24 class PandaNode;
25 class RenderState;
26 class Texture;
27 class GraphicsEngine;
29 class GraphicsOutput;
30 
31 ////////////////////////////////////////////////////////////////////
32 // Class : EggToBam
33 // Description :
34 ////////////////////////////////////////////////////////////////////
35 class EggToBam : public EggToSomething {
36 public:
37  EggToBam();
38 
39  void run();
40 
41 protected:
42  virtual bool handle_args(Args &args);
43 
44 private:
45  void collect_textures(PandaNode *node);
46  void collect_textures(const RenderState *state);
47  void convert_txo(Texture *tex);
48 
49  bool make_buffer();
50 
51 private:
52  typedef pset<Texture *> Textures;
53  Textures _textures;
54 
55  bool _has_egg_flatten;
56  int _egg_flatten;
57  bool _has_egg_combine_geoms;
58  int _egg_combine_geoms;
59  bool _egg_suppress_hidden;
60  bool _ls;
61  bool _has_compression_quality;
62  int _compression_quality;
63  bool _compression_off;
64  bool _tex_rawdata;
65  bool _tex_txo;
66  bool _tex_txopz;
67  bool _tex_ctex;
68  bool _tex_mipmap;
69  string _ctex_quality;
70  string _load_display;
71 
72  // The rest of this is required to support -ctex.
73  PT(GraphicsPipe) _pipe;
75  GraphicsEngine *_engine;
76  GraphicsOutput *_buffer;
77 };
78 
79 #endif
A basic node of the scene graph or data graph.
Definition: pandaNode.h:72
Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-...
Definition: texture.h:75
An object to create GraphicsOutputs that share a particular 3-D API.
Definition: graphicsPipe.h:58
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:53
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.