需求:
想把自己开发的一套ui库集成到cocos引擎中,最终表现形式为能在creator里提供一个新的节点类型,创建该节点时,会创建对应的c++类例实例,然后可以接收鼠标键盘消息(也就是参与cocos的事件分发机制),最后是渲染,这个ui库里已经有现成的opengl/metal渲染代码,要怎样嵌入cocos的渲染流程?一般有两种方式,一是随着场景的渲染,该类节点即时调用自己的渲染函数,但这会导致每帧都要跑很多gl调用,实际上ui画面可能在不操作的时候一直稳定不变,所以更好的方式是能提前渲染到纹理,在有变化时才更新,其它时候只画一个带此纹理的矩形。两种形式下,肯定都需要与cocos的graphics层api协作,才能得到正确的环境以执行既有的opengl/metal渲染代码。
已经浅作的尝试:
1、搜了文档和论坛,大部份关于扩展的贴子,可能重点在制作编辑器扩展面板,或是ts层面的扩展,没有看到有开发c++层扩展(且要处理消息、执行渲染等一整套操作)的例子
2、看了引擎代码,发现有ts和c++两层代码,原以为ts层只是对c++类的导出绑定,但实则不然,ts里竟然还有操作顶点数据这样的底层操作,一时间难以全窥cocos设计原理,想开发扩展不知从何入手。
期望:
1、官方能否提供一个简单的demo来作为此类扩展的入门模板,功能可以简单到就在c++里用opengl画一个三角形,鼠标点击时打印坐标,在creator里能拖出来摆放,设置一个颜色属性然后反映到渲染结果上。
2、其实就类似于ndk里的native_activity sample,那个例子很好地说明了怎么在一套java体系里,嵌入一个c++ opengl模块。
最后,诚心表示期望与感谢~ 每个人的时间都有限,浪费cocos开发者的时间来减少我自己摸索走弯路的时间,实在是惭愧。不过考虑到如果这个demo有了,也不只为我一个人服务,相信对所有使用cocos、特别是希望做深度扩展的人都有启发作用,因此还是提出了这个不情之请。 

官方哪有时间出Demo

