#ifndef _cgfxProfile_h_
#define _cgfxProfile_h_
#include <maya/MString.h>
#include <Cg/cg.h>
class cgfxProfile
{
public:
static void initialize();
static void uninitialize();
cgfxProfile(
MString name, CGpass pass);
~cgfxProfile();
enum TexCoordOrientation {
TEXCOORD_OPENGL,
TEXCOORD_DIRECTX,
};
static TexCoordOrientation getTexCoordOrientation() {
return sTexCoordOrientation;
}
static const cgfxProfile* getProfile(
MString name);
static const cgfxProfile* getBestProfile() { return sBestProfile; }
MString getName()
const {
return fName; }
CGprofile getVertexProfile() const { return fVtx; }
CGprofile getGeometryProfile() const { return fGeom; }
CGprofile getFragmentProfile() const { return fFrag; }
bool isSupported() const;
private:
cgfxProfile(
MString name, CGprofile vtx, CGprofile geom, CGprofile frag);
cgfxProfile(const cgfxProfile&);
const cgfxProfile& operator=(const cgfxProfile&);
static TexCoordOrientation sTexCoordOrientation;
static cgfxProfile* sProfileList;
static const cgfxProfile* sBestProfile;
CGprofile fVtx;
CGprofile fGeom;
CGprofile fFrag;
cgfxProfile* fNext;
};
#endif