#ifndef _SINGLESCATTERSHADER_H_
#define _SINGLESCATTERSHADER_H_

#include <maya/MPxNode.h>
#include <maya/MFnNumericAttribute.h>
#include <maya/MTypeId.h>

#include "TableReader.h"

 
class SingleScatterShader : public MPxNode
{
public:
	public:
	SingleScatterShader();
	virtual ~SingleScatterShader();

	static  void *	creator();
	virtual MStatus	compute( const MPlug&, MDataBlock& );
	static  MStatus	initialize();

	static  MTypeId   id;

	static TableReader G0, G20;

protected:

	static MObject aMatrixEyeToWorld;
	static MObject aPointW;
	static MObject aPointC;
	static MObject aScatteringCoef;
	static MObject aShiny;
	
	static MObject  aDiffuseReflectivity;
	
	static MObject  aColorR;
	static MObject  aColorG;
	static MObject  aColorB;
	static MObject  aColor;

	static MObject  aSpecularColorR;
	static MObject  aSpecularColorG;
	static MObject  aSpecularColorB;
	static MObject  aSpecularColor;
   
	static MObject  aIncandescenceR;
	static MObject  aIncandescenceG;
	static MObject  aIncandescenceB;
	static MObject  aIncandescence;

	static MObject  aInTransR;
	static MObject  aInTransG;
	static MObject  aInTransB;
	static MObject  aInTransparency;

	static MObject  aOutColorR;
	static MObject  aOutColorG;
	static MObject  aOutColorB;
	static MObject  aOutColor;

	static MObject  aOutTransR;
	static MObject  aOutTransG;
	static MObject  aOutTransB;
	static MObject  aOutTransparency;

	static MObject  aNormalCameraX;
	static MObject  aNormalCameraY;
	static MObject  aNormalCameraZ;
	static MObject  aNormalCamera;
};

#endif // _SINGLESCATTERSHADER_H_
