CGFX学习笔记
Kagula
2010-04-23
简介
学习环境:
[1]NVIDIA Cg 2.2 October 2009
[2]DirectX SDK 2009 Aug
这里主要是通过DX9目录中cgfx_bumpdemo例程来学习CgFX的调用流程。
正文
第一步:建立全局CGcontext实例,然后建立事件回调函数。
具体参考main函数定义
myCgContext = cgCreateContext();//CGcontext myCgContext;
第二步:在OnResetDevice中Initialization CG
一开始调用cgD3D9SetDevice(pDev);//IDirect3DDevice9* pDev
然后Initialization CG(参考initCG函数定义)
Step2-1:注册CgFX状态,从固定管线接管纹理状态,根据cgfx文件名创建Effect对象。
cgD3D9RegisterStates(myCgContext);//CGcontext myCgContext
cgD3D9SetManageTextureParameters(myCgContext, CG_TRUE)
myCgEffect = cgCreateEffectFromFile(myCgContext, "bumpdemo.cgfx", NULL);
// CGeffect myCgEffect
Step2-2:取CGtechnique