@版權(quán)聲明:本文版權(quán)歸作者所有,歡迎轉(zhuǎn)載将谊,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出,
本文鏈接http://www.reibang.com/p/8be312ea9442
如有問題翔始, 可郵件(yumxuanyi@qq.com)咨詢倒脓。
關(guān)鍵字:OpenCASCADE撑螺、Redraw
學習了OpenCASCADE那么久,一直對OpenCASCADE中是如何進行更新和顯示感到是那么的熟悉又那么的陌生?崎弃。下面就來縷一縷?甘晤,啃掉這塊骨頭?!饲做!
咋們就直接上圖吧?:
渲染流程.png
結(jié)論:最終的渲染還是由OpenGI_Element來完成
- V3d_View的Redraw和Update方法會調(diào)用OpenGl_View的Redraw()方法
- OpenGI_View中存儲了一個OpenGI_layerList的對象 myZLayers
在OpenGI_View的Redraw()方法中會調(diào)用OpenGI_layerList的Render()方法
3.OpenGI_layerList的Render()方法中會遍歷每個OpenGI_layer,并分別調(diào)用OpenGI_layer
的RenderAll()方法 - OpenGI_layer存儲了一組OpenGI_Structure的集合线婚。在RenderAll中遍歷得到每一個
OpenGI_Structure 并調(diào)用Structure的Render方法 - OpenGI_Structure中存儲了一組OpenGI_Group,最終遍歷每一個Group來調(diào)用OpenGI_Group的
Render方法 - OpenGI_Group中存儲了一組OpenGI_Element。最終的渲染就是由每個OpenGI_Element來完成艇炎。