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. css的初步了解

    学习了很多知识在这里,今天三月二十一日,老师讲了css的基础 对css有了初步的了解. 主要学习了以下几点: 一.css的选择器 1.派生选择器 2.类选择器 3.id选择器 4.属性选择器 二.cs ...

  2. psp记录个人项目花费时间

    预估时间 120min 设计分析时间 30min 具体设计时间 ≍40min 编码时间 ≍1h 测试时间 10min 整理结论时间 10min 总结与探讨时间 5min

  3. CE 进程同步-事件

    事件(event)分为有名的和无名的,使用有名事件的时候,在不同进程中创建的同名事件,其实就是同一个,这样就可以在不同的进程中使用了.两个进程里面都要创建事件,事件名要一致. //进程1 HANDLE ...

  4. Java单例模式(转载)

    原文地址:1:http://www.cnblogs.com/hupp/p/4487521; 2:http://cantellow.javaeye.com/blog/838473 先罗列五种单例模式的实 ...

  5. 2016HUAS_ACM暑假集训4M - 基础DP

    简单的0-1背包问题,大家都会做的.题意不想解释太多. 简述题目的案例及以几个关键 Sample Input 1                            //测试组数T 5 10     ...

  6. c# List去重

    1 list如果数据是值类型,比如list<int> 这种,添加linq之后就可以使用list = list.Distinct().ToList(); 2 如果是数据是引用类型,比如中间是 ...

  7. [nginx] connect() failed (111: Connection refused) while connecting to upstream, client: 101.18.123.107, server: localhost,

    nginx一直报错, 2016/12/02 10:23:19 [error] 1472#0: *31 connect() failed (111: Connection refused)while c ...

  8. (AIDE)Android Eclipse JNI 调用 .so文件加载问题

    背景:对于Android工程 Eclipse里编译好的.so文件放到 libs\armeabi下以后, 这样.so文件就可以打包到apk文件里,在apk装到手机上以后 在libs\armeabi下的. ...

  9. ios7 ios8 cell中下划线偏移(separator Insets)处理方法

    在ios7中,UITableViewCell左侧会有默认15像素的空白.这时候,设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉. 但是在ios8中,设置setS ...

  10. 解决YII提交POST表单出现400错误,以及ajax post请求时出现400问题

    POST表单400错误: 正确做法: Add this in the head section of your layout: <?= Html::csrfMetaTags() ?> -- ...