1.DG是dependency graph,我认为是依赖图,和DAG(有向无环图)的区别:DAG用来做场景管理,每个node代表的不是tranform就是shape,有父子关系。

DG是代表了每个实体节点之间的相互关系,通过plug,从output到input,再在每个DG节点中,对数据进行存储和计算,这样一种数据结构。

Dependency graph nodes are used for almost everything in Maya such as model creation, deformation, animation, simulation, and audio processing.

Most objects in Maya are dependency graph nodes, or networks of nodes (several nodes connected together). For example, DAG nodes are dependency graph nodes, and shaders are networks of nodes.

When dependency graph nodes are connected together they can affect DAG nodes and thus affect what is rendered.

2.

例子:

如图的DAG hierarchy包含了一个DG节点time, transform1, transform2, transform3,sphere是DAG节点,同样也是DG节点。

transform3的scale x, y, z,被time驱动。即time的输出,链接到transform3的输入,当动画播放的时候,sphere的两个实体,会变化。

3,dirty的传导机制,当一个dg节点的输入变化的时候,他的输出被mark成dirty,然后他连接到的属性被mark成dirty,一直传导。

例如refresh,系统要walk down DAG,对每个DAG节点进行检查,看是否需要re-evaluate(by checking if any plugs on it are dirty).

4. Node states.

MPxNode::state

5. Base dependency node classes:

(1)MPxNode: include ::compute()

(2)MPxLocatorNode: 让你可以在场景中绘制三维图形,可以用于定义没有shape的实体在空间中的位置。例如灯光。

(3)MPxGeometryFilter: 可以接受一个geometry shape作为输入,然后deform它。

          ::deform(),  ::accessoryAttribute(), ::accessoryNodeSetup().

MPxDeformerNode:The MPxDeformerNode class specializes MPxGeometryFilter to handle per-vertex weight lists.

MPxBlendShape: MPxSkinCluster

6.MPxIkSolverNode:  ::doSolve()

7.MPxFieldNode:  lets you define your own dynamic field to affect other geometry in the scene.  动态场???不理解啊

8.MPxEmitterNode: Emitters are nodes which emit particles in to a Maya scene. 粒子发射器。MPxFluidEmitterNode

9.MPxSpringNode: 弹簧节点 ::applySpringLaw()

10.MPxObjectSet:

11.MPxHwShaderNode:allows the creation of user-defined hwShaders.

12.MPxTransform: allows the creation of user defined transform nodes. They are designed to be an extension of the standard Maya transform node and include all of the normal transform attributes.

13. MPxImagePlane:allows the creation of new types of image plane nodes.

14.MPxParticleAttributeMapperNode:

15.MPxConstrait:

16. MPxManipulatorNode/MPxManipContainer: viewport当中的与用户交互用。鼠标事件的处理。

17.MPxSurfaceShape/MPxComponentShape: If you need to create a new kind of shape primitive, you will need to create a new class that derives from MPxSurfaceShape orMPxComponentShape, which will be used to represent instances of your geometry within the scene hierarchy and the dependency graph.

18. MPxAssembly:

19.MPxCameraSet:Maya treats custom nodes that you derive from this class like the built-in cameraSet node. You can derive a new class fromMPxCameraSet if you need to customize the way Maya handles your camera layers for stereo viewing.

20. MPxMotionPathNode:  if you need to customize the way that Maya evaluates the input animation curve in order to computes and apply new position and orientation values to an animated object moving along a path.See the class description and the motionPathNode/motionPathNode.cpp example for details.

21. MPxPolyTrg: This is the base class for nodes that define a custom face triangulation algorithm for meshes.

22. MPxThreadedDeviceNode/MPxClientDeviceNode:

十、DG的更多相关文章

  1. Deploy 11.2.0.3 RAC+DG on Windows 2008 R2 Step by Step

    环境规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1.5G 操作系 ...

  2. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  3. [原]Jenkins(十五)---jenkins插件之deploy

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...

  4. 日常英语---十四、Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中)

    日常英语---十四.Dolce & Gabbana cancels China show amid 'racist' ad controversy(adj.温柔的,prep.在其中) 一.总结 ...

  5. 「十二省联考 2019」字符串问题——SAM+DAG

    题目 [题目描述] Yazid 和 Tiffany 喜欢字符串问题.在这里,我们将给你介绍一些关于字符串的基本概念. 对于一个字符串 $S$, 我们定义 $\lvert S\rvert$ 表示 $S$ ...

  6. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)

    用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...

  7. 【RAC】 RAC For W2K8R2 安装--结尾篇(十)

    [RAC] RAC For W2K8R2 安装--结尾篇(十) 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

  8. oracle rac搭建单实例DG步骤(阅读全篇后再做)

    环境介绍 主库: 主机名 rac01 rac02 实体IP 10.206.132.232 10.206.132.233 私有IP 192.168.56.12 192.168.56.13 虚拟IP 10 ...

  9. 如何用three.js(webgl)搭建3D粮仓、3D仓库、3D物联网设备监控-第十二课

    序: 最近因为疫情,居家办公,索性翻翻之前的项目案例,总结总结. 这次疫情,深圳停摆,群众也挺恐慌的,封闭前一天,超市被抢购一空,虽然官方媒体一再强调,材米油盐蔬菜肉类管够,但是任然挡不住群众们的抢购 ...

随机推荐

  1. C#的选择语句练习

    1.请输入一个数x,若x<1,则y=x:若1<=x<10,则y=2x-1:若x>=10,则y=3x-11,要求随意输入一个x值,求出y值. 2.输入问题[你有房子吗?],若回答 ...

  2. vs2010配置boost编程环境(照抄并简化)

    第一步:下载boost,我下载的方法是从http://www.boost.org/上找最新的下载.名字叫boost_1_50_0.7z. 第二步:在D盘(我C盘空间不大,准备出至少10G的空间吧)创建 ...

  3. const成员变量初始化总结

    const可以用来声明常量也就是说他的值不能被修改: const成员必须在定义的时候同时初始化,不能进行赋值 如 const int a:a的值不能修改,不能给它赋值,如何才能让它一开始就拥有一个值? ...

  4. JavaScript高级程序设计-第六章面向对象的程序设计

    创建对象主要的两种形式,创建Object实例和创建对象字面量 对象包含属性和方法 数据 .属性有四个特性,特性是为了描述属性行为的,他们是: Configurable(可配置的)是否能删除或是否能修改 ...

  5. pyqt4:连接的一个带有参数的方法

    一般在pyqt4中的信号连接很少连接带参数的方法,很多时候连接带参数的方法节约不少代码量. self.s5_thread=scene.Worker5() self.log_get=QtCore.QTi ...

  6. Linux测试环境部署tomcat(二)

    安装配置tomcat 1:在http://tomcat.apache.org/download-80.cgi下载最新安装包 2:安装tomcat 将apache-tomcat-8.0.21.tar.g ...

  7. 使用keepalived实现mysql主从复制的自动切换

    最近测试了一下mysql+keepalived实现主从自动切换,主从都需要安装keepalived,使用vip漂移实现主从自动切换,这里主要记录的是keepalived的文件配置. 这里mysql搭建 ...

  8. SQL Server 快捷键备忘

    Run the sp_help system stored procedure ALT+F1 Run the sp_who system stored procedure CTRL+1 Run the ...

  9. 获取公网IP

    private static string GetIP() { string tempip = ""; try { WebRequest wr = WebRequest.Creat ...

  10. fastdfs 安装配置

      介绍文档   1.安装 # wget # tar xf download # cd FastDFS/ # ./make.sh 运行文件 有报错信息 compilation terminated. ...