OpenCASCADE中显示(Redraw)所经历的过程


@版权声明:本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
本文链接https://www.jianshu.com/p/8be312ea9442
如有问题, 可邮件(yumxuanyi@qq.com)咨询。


关键字:OpenCASCADE、Redraw

学习了OpenCASCADE那么久,一直对OpenCASCADE中是如何进行更新和显示感到是那么的熟悉又那么的陌生​。下面就来缕一缕​,啃掉这块骨头​!!
咋们就直接上图吧​:

渲染流程.png

结论:最终的渲染还是由OpenGI_Element来完成

  1. V3d_View的Redraw和Update方法会调用OpenGl_View的Redraw()方法
  2. OpenGI_View中存储了一个OpenGI_layerList的对象 myZLayers
    在OpenGI_View的Redraw()方法中会调用OpenGI_layerList的Render()方法
    3.OpenGI_layerList的Render()方法中会遍历每个OpenGI_layer,并分别调用OpenGI_layer
    的RenderAll()方法
  3. OpenGI_layer存储了一组OpenGI_Structure的集合。在RenderAll中遍历得到每一个
    OpenGI_Structure 并调用Structure的Render方法
  4. OpenGI_Structure中存储了一组OpenGI_Group,最终遍历每一个Group来调用OpenGI_Group的
    Render方法
  5. OpenGI_Group中存储了一组OpenGI_Element。最终的渲染就是由每个OpenGI_Element来完成。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容