#ifndef shaveBackgroundShader_h #define shaveBackgroundShader_h // Shave and a Haircut // (c) 2019 Epic Games // US Patent 6720962 #include #include #include class shaveBackgroundShader : public MPxNode { //****************************************************** // // Creation & Initialization Methods // //****************************************************** public: shaveBackgroundShader(); virtual ~shaveBackgroundShader(); static void * creator(); static MStatus initialize(); //****************************************************** // // Overloaded MPxNode Methods // //****************************************************** public: virtual MStatus compute(const MPlug&, MDataBlock&); virtual void postConstructor(); #if MAYA_API_VERSION >= 201600 virtual SchedulingType schedulingType() const { return kUntrusted; } #endif //****************************************************** // // Member Variables // //****************************************************** public: static MTypeId id; static const MString nodeTypeName; //****************************************************** // // Attributes // //****************************************************** public: static MObject aBackgroundSampler; static MObject aIncludeBackfacing; static MObject aLightDataArray; static MObject aLightDirection; static MObject aLightIntensity; static MObject aLightAmbient; static MObject aLightDiffuse; static MObject aLightSpecular; static MObject aLightShadowFraction; static MObject aPreShadowIntensity; static MObject aLightBlindData; static MObject aMatrixEyeToWorld; static MObject aNormalCamera; static MObject aObjectId; static MObject aOldShader; static MObject aOutColor; static MObject aOutMatteOpacity; static MObject aOutTransparency; #ifdef _DEBUG static MObject aPixelCenter; static MObject aPixelCenterX; static MObject aPixelCenterY; #endif static MObject aPointWorld; static MObject aRayDepth; static MObject aRayDirection; static MObject aRayOrigin; }; #endif