// Filename: dxGeomMunger9.I
// Created by:  drose (11Mar05)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001 - 2004, Disney Enterprises, Inc.  All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license.  You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://etc.cmu.edu/panda3d/docs/license/ .
//
// To contact the maintainers of this program write to
// panda3d-general@lists.sourceforge.net .
//
////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////
//     Function: DXGeomMunger9::Constructor
//       Access: Public
//  Description:
////////////////////////////////////////////////////////////////////
INLINE DXGeomMunger9::
DXGeomMunger9(GraphicsStateGuardian *gsg, const RenderState *state) :
  StandardMunger(gsg, state, 1, NT_packed_dabc, C_color),
  _texture(state->get_texture()),
  _tex_gen(state->get_tex_gen())
{
  _filtered_texture = (TextureAttrib *)NULL;
  _reffed_filtered_texture = false;
  if (_texture != (TextureAttrib *)NULL) {
    _filtered_texture = _texture->filter_to_max(gsg->get_max_texture_stages());
    if (_filtered_texture != _texture) {
      _filtered_texture->ref();
      _reffed_filtered_texture = true;
    }
  }
  // Set a callback to unregister ourselves when either the Texture or
  // the TexGen object gets deleted.
  _texture.set_callback(this);
  _tex_gen.set_callback(this);
}

