BasicEffect 的主要功能
1.管理/修改常量缓冲区的内容,并应用(Apply)变更 :
BasicEffect::Impl(变换矩阵,纹理资源,常量参数)
2.编译HLSL着色器而不是fx文件 (InitAll:CreateVertexShader)
3.管理/使用四种渲染状态
4.切换渲染模式(涉及到渲染管线各种资源的绑定、切换)
5.仅更新修改的变量所对应的常量缓冲区块
整个过程,BasicEffect 是一个单例,接口的调用需要传入设备上下文。
外部调用就需要关心常量缓冲区 着色器 渲染状态,资源绑定,纹理更新等底层操作。