shaders/cgshaderfractal/orcgshaderfractal_shader.h
#ifndef __ORCGSHADER_H__
#define __ORCGSHADER_H__
#define ORCGSHADER__CLASSNAME ORCgShaderFractal
#define ORCGSHADER__CLASSSTR "ORCgShaderFractal"
#define ORCGSHADER__DESCSTR "OR - Fractal CgShader"
#include <Cg/cg.h>
#include <Cg/cgGL.h>
#define SCALE_MIN (0.00025f)
#define SCALE_MAX (0.5f)
class ORCgShaderFractal : public FBShader
{
int mRenderFrameId;
public:
virtual bool FBCreate();
virtual void FBDestroy();
virtual bool ShaderNeedBeginRender();
virtual void ShaderBeginRender( FBRenderOptions* pRenderOptions, FBShaderModelInfo* pShaderModelInfo );
virtual void ShadeModel( FBRenderOptions* pRenderOptions, FBShaderModelInfo* pShaderModelInfo,
FBRenderingPass pPass );
void DrawGeometry( FBShaderModelInfo* pShaderModelInfo );
private:
void ShowError(
const char* pText=
NULL);
CGcontext mContext;
CGprogram mProgram;
CGprofile mProfile;
CGparameter mParamLight;
CGparameter mParamModelViewProj;
CGparameter mParamModelViewIT;
float mTransX;
float mTransY;
float mScaling;
};
#endif