现在的位置: 首页 > 综合 > 正文

Ogre渲染流程

2018年06月07日 ⁄ 综合 ⁄ 共 2120字 ⁄ 字号 评论关闭

Ogre作为图形渲染引擎, 采用OO模式, 用了不少设计模式 , 个人认为有种滥用的样子,  有趋于学院派的作品趋势,当然,尽可能的采用各种设计模式会使引擎更具有理论上的合理性,但是OGRE为了达到更高统一性,而使引擎的趋于复杂,调用关系不再直观,带来的后果将是越来越难以深层次开发.

学习就是要将复杂的东西弄简单了,简单的东西搞深入了.下面简单将OGRE的引擎渲染流程,调用关系分析下,看下他和别的图形引擎渲染流程的的异同. 画下图.

 

SceneManager::_renderScene

|

|-------_updateSceneGraph(camera);

|

|-------prepareRenderQueue();

|

|-------_findVisibleObjects

|

|

|

|

|

|

|------_renderVisibleObjects

|      |

|      |-----renderVisibleObjectsDefaultSequence

|            |

|            |-------_renderQueueGroupObjects

|                    |

|                    |---------renderBasicQueueGroupObjects

|                              |

|                              |---------sort

|                              |---------renderObjects

|                              |         |

|                              |         |--------acceptVisitorGrouped

|                              |                  |

|                              |                  |---------visit

|                              |                            |

|                                                           |-------------renderSingleObject

|

       Ogre作为图形渲染引擎, 采用OO模式, 用了不少设计模式 , 个人认为有种滥用的样子,  有趋于学院派的作品趋势,当然,尽可能的采用各种设计模式会使引擎更具有理论上的合理性,但是OGRE为了达到更高统一性,而使引擎的趋于复杂,调用关系不再直观,带来的后果将是越来越难以深层次开发.

学习就是要将复杂的东西弄简单了,简单的东西搞深入了.下面简单将OGRE的引擎渲染流程,调用关系分析下,看下他和别的图形引擎渲染流程的的异同. 画下图.

 

SceneManager::_renderScene

|

|-------_updateSceneGraph(camera);

|

|-------prepareRenderQueue();

|

|-------_findVisibleObjects

|

|

|

|

|

|

|------_renderVisibleObjects

|      |

|      |-----renderVisibleObjectsDefaultSequence

|            |

|            |-------_renderQueueGroupObjects

|                    |

|                    |---------renderBasicQueueGroupObjects

|                              |

|                              |---------sort

|                              |---------renderObjects

|                              |         |

|                              |         |--------acceptVisitorGrouped

|                              |                  |

|                              |                  |---------visit

|                              |                            |

|                                                           |-------------renderSingleObject

|

抱歉!评论已关闭.