`
izuoyan
  • 浏览: 9264361 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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)

分享到:
评论

相关推荐

    Nebula3 渲染程序向导

    **Nebula3 渲染程序向导** Nebula3渲染程序向导是一个专为开发者设计的工具,用于引导用户创建和理解基于Nebula3引擎的渲染应用程序。Nebula3是一款强大的游戏开发和实时图形渲染平台,它提供了一系列高级特性,...

    Nebula3的maya插件

    《Nebula3 Maya插件:NVX2网格导出详解》 在计算机图形学领域,Maya是一款广泛使用的三维建模与动画软件,而Nebula3则是一个专为游戏开发和视觉特效设计的高级工具集。在这个场景中,Nebula3的Maya插件扮演着重要的...

    nebula-release-plugin, 基于 gradle git发布意见.zip

    nebula-release-plugin, 基于 gradle git发布意见 nebula-release-plugin 这个插件为 gradle 提供的发布过程提供了一些意见和任务。应用插件plugins { id 'nebula.release' version '6.0.

    Nebula3命令行应用程序向导

    《Nebula3命令行应用程序向导》是针对Nebula3框架的初学者设计的一款实用工具,旨在简化命令行应用程序的开发流程。Nebula3是一个强大的游戏开发引擎,以其高效、灵活和可扩展性著称。对于新接触这个框架的开发者来...

    Nebula3 Console Application Wizard

    Nebula3 是一个强大的游戏开发框架,它提供了丰富的功能,包括图形渲染、物理模拟、网络通信等,尤其适合制作复杂的交互式应用和游戏。该框架通常采用C++作为主要编程语言,以提高性能和灵活性。Console Application...

    nebula3加载xml的核心实现

    在Nebula3框架中,XML格式被广泛用于存储和传输数据,特别是在处理游戏或图形渲染等场景。本文将深入探讨“nebula3加载XML的核心实现”,关注于如何在Nebula3中读取、解析和利用XML文件来构建和操作ModelNode类型的...

    java-nebula客户端集成(csdn)————程序.pdf

    Java Nebula 客户端集成详解 Java Nebula 客户端集成是指将 Nebula 图数据库与 Java 应用程序集成,以便在 Java 应用程序中使用 Nebula 图数据库的功能。下面是 Java Nebula 客户端集成的详细过程。 一、建立 ...

    Nebula模拟器-Nebula模拟器-Nebula模拟器

    3. **安全性**:Nebula模拟器提供了强大的隔离机制,确保各虚拟机之间的安全边界,防止恶意软件或攻击者跨虚拟机传播。 4. **可扩展性**:随着业务需求的增长,Nebula模拟器可以轻松添加新的虚拟机或扩展资源,无需...

    eclipse nebula部件

    完成这一步后,通过“clean”方式重启Eclipse,即在命令行中执行`eclipse -clean`,或者在Eclipse的“帮助”菜单中选择“重建”,这样Eclipse会清除缓存并重新加载所有插件,确保Nebula成功安装。 Nebula中的重要...

    gradle-rxjava-project-plugin-1.12.10.zip

    Clojuresque是一个用于管理Clojure项目的Gradle插件,而"nebula-clojure-plugin-master"可能包含了这个插件的源代码和相关资源。结合使用,开发者可以在Gradle项目中无缝集成Clojure语言,同时利用RxJava插件提高...

    nebula3 engine

    Nebula3 Engine的核心特性之一是其渲染系统。它支持先进的图形技术,如动态光照、阴影、粒子效果和高级着色器,这些都为游戏带来了令人震撼的视觉体验。此外,Nebula3 Engine还内置了物理模拟系统,可以实现逼真的...

    Nebula2.25_汉化

    《Nebula2.25汉化版:模拟器的便捷使用详解》 在IT行业中,模拟器扮演着至关重要的角色,它们使开发者和用户能够在一个平台上体验和测试其他平台的功能。Nebula,作为一款知名的模拟器软件,被广泛用于音频处理、...

    nebula图数据库V2.6.0

    3. **启动Nebula**:运行`docker-compose up -d`命令启动Nebula服务,后台运行。 4. **验证部署**:通过`docker-compose ps`检查各服务状态,`nGQL`客户端连接并测试查询功能。 5. **停止和清理**:使用`docker-...

    org.eclipse.nebula.widgets.grid_1.0.0.jar_gridview_everyt8y_

    标题中的"org.eclipse.nebula.widgets.grid_1.0.0.jar_gridview_everyt8y_"暗示了我们正在讨论的是Eclipse Nebula项目中的一个组件,具体是Grid Viewer相关的库,版本为1.0.0。这个库是用于构建用户界面的,特别适用...

    nebula-V3.3.0镜像资源包

    nebula-V3.3.0镜像资源包,包含meta、storged及graphd对应的镜像,以及nebula-console文件

    nebula-graph-studio-3.8.0 ARM架构编译完成的包

    《Nebula Graph Studio 3.8.0 在 ARM 架构下的编译与应用》 在当前数字化时代,图数据库作为一种高效的数据管理工具,正逐渐受到广泛关注。Nebula Graph,作为一款高性能、分布式、易扩展的图数据库,其图形化管理...

    脱壳的nebula225b

    【标题】"脱壳的nebula225b"是指的NEBULA模拟器的一个特定版本,经过优化和修改,解决了原本存在的某些问题。在这个版本中,开发者针对无法完整扫描到所有游戏子Rom的问题进行了修复,使得用户可以更加顺利地进行...

    Nebula 3 source code

    A game engine and framework. It is built to be portable to various platforms, including the consoles and the iPhone. It has been used in commercial projects.

    nebula-v4:Nebula V4存储库

    【标题解析】:“Nebula V4”是一个项目或软件的版本标识,通常代表了该产品或服务在功能、性能或安全性等方面的显著升级。这里提到的“Nebula V4存储库”可能是一个代码仓库,包含了这个特定版本的源代码、资源文件...

Global site tag (gtag.js) - Google Analytics