Nebula3的渲染线程插件(Render Thread Plugin)

上个版本的SDK把渲染放入一个独立的线程, 这是一个很先进的改动

但是它也造成一个问题: 不好操作底层的渲染API了

对于想自己控制VB, IB来绘制三角形级的demo程序来说, 一点也不方便

之前我写过一个SyncRenderApplication, 但是很不完美, 比如不能使用InputServer

April2009加入了RTPlugin, 为写demo指明了方向, 嘿嘿(虽然作者原意肯定不是这样的)

从上图可以看出, RTPlugin完全存在于Render Thread, 这样可以在它的派生类中直接进行底层图形的操作, 主线程只管启动程序和注册这个plugin

这里又用到一个比较好玩的特性: 根据Rtti创建对象. 因为主线程创建的对象是不能直接传给渲染线程的(要不然就违背了Fat Thread的概念), 所以创建只能在渲染线程进行. 而什么时候创建, 只能由主线程来控制, 所以消息RegisterRTPlugin只包含了这个类的Rtti, 在渲染线程由这个Rtti来创建指定对象的实例, 嗯嗯, 这招很很很(什么形容词好呢?)....

代码待续........(打算集成进Nebula3 Render Application Wizard)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android自学

给WordPress文章添加类似说说的状态样式

19730
来自专栏coding for love

在线商城项目09-基于express框架的server端搭建

在本地项目目录加入.gitignore文件,可以直接copy six-tao项目的该文件。

6610
来自专栏JMCui

css重写checkbox样式

一、前言 默认的checkbox长这样: <p> <span><input type="checkbox" /></sp...

42750
来自专栏陈本布衣

treeview插件使用:根据子节点选中父节点

  鄙人公司没有专门的前端,所以项目开发中都是前后端一起抡。最近用bootstrap用的比较频繁,发现bootstrap除了框架本身的样式组件外,还提供了多种插...

59340
来自专栏BestSDK

Android Studio 开发必备的17个快捷键,效率提高一倍!

1. 书签(Bookmarks) 描述:这是一个很有用的功能,让你可以在某处做个标记(书签),方便后面再跳转到此处。 调用:Menu → Navigate → ...

422120
来自专栏九彩拼盘的叨叨叨

CSS拓展语言:Sass介绍

CSS拓展语言出现的原因是,CSS自身支持的功能能有限(如不支持变量,条件控制,循环等编程元素),并不满足我们想要的一些功能。而CSS拓展语言支持CSS不支持的...

11420
来自专栏一“技”之长

OS X 开发:打开文件面板NSOpenPanel应用

      在Mac桌面软件开发中,如果涉及到对文件的操作,无论是新建文件还是选择或读取文件,都离不开文件路径的定位,NSOpenPanel类提供了简洁的文件选...

13630
来自专栏Core Net

C# 处理Word自动生成报告 三、设计模板

50250
来自专栏技术博文

ueditor富文本编辑器 修改框宽度和高度的方法

在使用ueditor的时候,用的textarea <textarea name="content" id="myEditor">这里写这条规则的回复内容</te...

38270
来自专栏前端大白专栏

react 的state数据更新机制

57870

扫码关注云+社区

领取腾讯云代金券