shaders/cgshader/orcgshader_shader.h
#ifndef __ORCGSHADER_H__
#define __ORCGSHADER_H__
#ifndef ORSDK_DLL
#define ORSDK_DLL K_DLLIMPORT
#endif
#define ORCGSHADER__CLASSNAME ORCgShader
#define ORCGSHADER__CLASSSTR "ORCgShader"
#define ORCGSHADER__DESCSTR "OR - CgShader"
#include <Cg/cg.h>
#include <Cg/cgGL.h>
class ORSDK_DLL ORCgShader : 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;
};
#endif