一些疑问:为什么在对 RenderState 进行更新时,不对 EFFECT 进行更新?
为什么不把 Global Effect 直接存在 Geometry 中而是存在索引表中?
该部分没有什么可讲的,前面几章已有所渗透,现简要概括大致框架。
创建 Culler
↓
创建Camera
↓
创建Scene
↓
UpdateGS/RS
↓
Culler.SetCamera
↓
Culler. 计算潜在可见物体
↓
若Movecamera ,重新计算
↓
若move object ,updateGS ,重新计算潜在可见物体。
↓
ClearBuffer
↓
BeginScene
↓
DrawScene
↓
EndScene
↓
DisplayBuffer
再简要说明通过代码创建Scene 的过程(当然,一般由美工通过开发工具创建)
New 一个Scene ;
设置Attribute 格式
New 一个VB 并赋值。
New 一个IB 并赋值。
New 一个Geometry 并加载VB ,IB 。
将该Geometry 关联到scene 。
New 一个ShaderEffect 。
设置ShaderEffect 。
将ShaderEffect 关联到Geometry 。
设置相关信息。
Effect à Confifgure ()。
一点说明:世界空间中可能包含不止一个SceneGraph 。