培训对象: 高级开发工程师、引擎架构师、OSG贡献者
培训目标: 深入理解OSG底层实现原理,具备OSG二次开发和定制能力。
培训内容:
OSG整体架构分析:深入剖析OSG的整体架构设计,讲解核心模块的职责和交互关系,包括场景图模块、渲染模块、插件模块、工具模块,建立源码级的架构认知。
场景图核心源码解析:带领学员深入解读场景图的核心源码,包括Node、Group、Geode等基类的实现,场景遍历算法,节点访问器机制,理解场景图的底层运作。
渲染后端源码解析:深入分析渲染后端(RenderBin、StateGraph)的实现,讲解渲染队列的组织、状态排序、渲染遍历的源码细节,理解OSG的渲染管理机制。
节点访问者模式实现:剖析访问者模式的源码实现,讲解NodeVisitor的继承体系、遍历控制、访问方法,理解这一核心设计模式在OSG中的应用。
插件机制源码分析:深入解读OSG的插件加载机制,讲解ReaderWriter接口、插件注册、动态加载的实现,为开发自定义插件打下基础。
内存管理源码剖析:分析引用计数和智能指针的源码实现,讲解ref_ptr的内部结构、计数管理、循环引用处理,理解OSG的内存管理哲学。
新增节点类型开发:手把手指导学员开发全新的节点类型,包括继承合适的基类、实现必要的虚函数、处理场景遍历、添加自定义功能,扩展OSG的功能边界。
自定义渲染状态:讲解如何开发自定义的渲染状态,教授实现新的StateAttribute、与OpenGL状态交互、管理渲染状态栈,实现特殊的渲染效果。
扩展文件格式插件:带领学员开发全新的文件格式插件,包括实现ReaderWriter接口、解析文件格式、构建场景图、处理材质和动画,支持新的3D格式。
修改渲染流水线:深入讲解如何修改OSG的渲染流水线,教授自定义渲染遍历、插入新的渲染阶段、替换默认渲染实现,满足特殊的渲染需求。
源码调试与跟踪:介绍OSG源码的调试方法,教授如何使用调试器跟踪代码执行、设置条件断点、分析调用栈,快速定位和理解问题。
OSG社区贡献指南:讲解如何向OSG社区贡献代码,包括代码规范、提交流程、邮件列表沟通、补丁提交,帮助学员成为OSG的积极贡献者。