PtexExtractor/PtexPaintExporter.h


//**************************************************************************/

// Copyright (c) 2010 Autodesk, Inc.

// All rights reserved.

//                                                                                     

// Use of this software is subject to the terms of the Autodesk license

// agreement provided at the time of installation or download, or which

// otherwise accompanies this software in either electronic or hard copy form.

//

//**************************************************************************/

// DESCRIPTION:

// CREATED: August 2010

//**************************************************************************/



#if defined(JAMBUILD)

#include <Mudbox/mudbox.h>

#include <MapExtractor/MapExtractorInterface.h>

#include <UVlessPainting/UVGeneratorInterface.h>

#else

#include "../../include/Mudbox/mudbox.h"

#include "../../include/MapExtractor/MapExtractorInterface.h"

#include "../../include/UVlessPainting/UVGeneratorInterface.h"

#endif



using namespace mudbox;



class PtexPaintExporter : public PaintLayerExporter

{

    DECLARE_CLASS;



    // This function returns the supported file types by this class.

    virtual QVector<FileExtension> SupportedExtensions( void );

    // This function does the exporting.

    virtual void Export( const QString &sFileName, int iFileTypeIndex, const Mesh *pSourceSurface, TexturePool *pSource );

    // This function performs a fast export, without doing a map extraction internally. This is faster, and preserves texture queality.

    template < typename tType, int iMultiplier >

    void FastExport( const QString &sFileName, int iFileTypeIndex, const Mesh *pSourceSurface, TexturePool *pSource, const UVGeneratorNode *pUVGenerator );

};