主渲染流程
上图是主渲染流程Renderer::DrawScene(VisibleSet&)和相关类的说明图,主要有以下特点:
1. 资源标识符ResourceIdentifier,表示VertexBuffer,IndexBuffer,Texture,VertexShader,PixelShader在显存的指针;
2. 资源Bindable,保存内存中的资源,并适时加载进显存,从而得到上面的RId;RId和渲染器指针成对保存,有必要吗?
3. GlobalState和Effect基于Geometry,渲染时设置相应状态,加载相应资源,启用相应的shader,渲染完毕后恢复原来环境;
4. 总的来说,就如作者所说的,Renderer大部分工作都是为渲染做资源管理。
经验尚浅,只能总结上面一些特点,至于本渲染器的优点或缺点,欢迎大家评论。