以前写过好多次,但是都没写完....主要是节点树的执行过程.这次打算好好写完。

这次目的是写一个 类似houdini sop下的 管理过程

目的是把大量流程中的杂乱比如后台处理,Arnold->Render->ffmepg合成视频等等 基于任务的东东,放到节点平台,这样可以完整的procedural the task

而且数据从左到右流动.节点树递归反向分析,等待退栈建立正确的节点执行顺序.去重建立节点缓存。

完全python实现。用的PySide2

可以观看视频演示:Rlease v0.01 : https://vimeo.com/316527592

WIP_01:

UI节点的delegate node API设计完全按照Houdini API Style:

Houdini 的对应这个API eval()叫做cookMySop()

WIP_02:初步实现tabview,还有点击tab键创建节点。

1,看这个tab键出来的选择创建节点的面板,完全按照Houdini的设计方式,

从Factory里读到节点的描述,真正点击的时候才创建真正的UI节点和他的delegate节点。

2,在Python中factory完全就是个list,根本就不用创建什么复杂的类型,里面直接塞N个{节点描述字典},

也可以直接全部创建为字典描述,不过 这样节点注册的完  工厂里的节点描述 是没顺序的。

支持像Nuke 一样的快捷键D: 把节点bypass/ on the fly 查看节点的所有核心属性

Sticky Node: TODO:Fix the focus event......

修复focus event, 当你在打字的时候请别影响别的选择的Node.......

WIP: dot 节点仅仅只连接

化繁去简,节点参数界面简单映射:

Production Ready:

Node Graph ......的更多相关文章

  1. 纸上谈兵: 图 (graph)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...

  2. 纸上谈兵:图(graph)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 图(graph)是一种比较松散的数据结构.它有一些节点(vertice),在某些节 ...

  3. codeforces 1082G - Petya and Graph 最大权闭合子图 网络流

    题意: 让你选一些边,选边的前提是端点都被选了,求所有的边集中,边权和-点权和最大的一个. 题解: 对于每个边建一个点,然后就是裸的最大权闭合子图, 结果比赛的时候我的板子太丑,一直T,(不会当前弧优 ...

  4. [Algorithms] Graph Traversal (BFS and DFS)

    Graph is an important data structure and has many important applications. Moreover, grach traversal ...

  5. [Algo] 132. Deep Copy Undirected Graph

    Make a deep copy of an undirected graph, there could be cycles in the original graph. Assumptions Th ...

  6. PageRank的java实现

    一个网络(有向带权图)中节点u的PageRank的计算公式: PR(u)表示节点u的PageRank值,d为衰减因子(damping factor)或阻尼系数,一般取d=0.85,N为网络中的节点总数 ...

  7. Java实现线性阈值模型(Linear Threshold Model)

    影响力传播的线性阈值模型: 网络中连接任意两个节点u,v之间的边都有权重,任意一个节点它的各个邻居节点的边的权重之和为1,即 N(v):neighbors of v. 网络中的节点分为已激活节点和未激 ...

  8. shader forge卡通渲染!

    自从用了shader forge,妈妈我再也不写shader了...... 写了3种,分别用的顶点法线.法线贴图.顶点法线+法线贴图,然后还有自发光和受光两种模式,那就是6种了吧... 最后来一张sh ...

  9. 邻接表c源码(构造邻接矩阵,深度优先遍历,广度优先遍历,最小生成树prim,kruskal算法)

    graph.c #include <stdio.h> #include <stdlib.h> #include <limits.h> #include " ...

随机推荐

  1. mysql 新建用户并赋予远程访问权限

    不多说直接上代码 [root@demo /]# mysql -u root -p #登录服务器数据库 Enter password:123xxx #1.创建一个新用户 testuser 密码为 tes ...

  2. Python学习步骤如何安排?

    一.清楚学习目标 无论是学习什么知识,都要有一个对学习目标的清楚认识. 只有这样才能朝着目标持续前进,少走弯路,从学习中得到不断的提升,享受python学习计划的过程. 二.基本python 知识学习 ...

  3. (八)jdk8学习心得之Optional类

    八.Optional 类 1. 作用:可以存放空指针null,主要用于解决空指针问题. 2. 使用方法 1) 创建对象(2种方法) Optional optional = Optional.of(非n ...

  4. rabbitmq 出现 com.rabbitmq.client.ShutdownSignalException: , ..................

    -classpath "C:\Program Files\Java\jdk1.8.0_144\jre\lib\charsets.jar;C:\Program Files\Java\jdk1. ...

  5. windows常用快捷键和指令

    快捷键: Ctrl+鼠标滚轮:更改图标大小(桌面).缩放(开始屏幕) Ctrl+A:选择所有 Ctrl+C:复制 Ctrl+E:选择搜索框(资源管理器) Ctrl+N:新窗口(资源管理器) Ctrl+ ...

  6. monkeyrunner简介

    monkeyrunner简介 MonkeyRunner工具是使用Jython(使用Java编程语言实现的Python)写出来的,它提供了多个API,通过monkeyrunner API 可以写一个Py ...

  7. Java8 list转map 坑

    Map<String , SonCargosForm> orderCargosMap = sonTemporaryForm.getOrderCargosList().stream() .c ...

  8. python3 重写、重用、重载

    重用重用是用于在对象的概念中,实现代码的重用性 在继承角度,在子类继承父类之后,重新使用父类属性方法即是代码的重用 在组合角度,在一个类中以另外一个类的对象作为数据属性,提高代码的重用性 重用的方式: ...

  9. JSON.stringify的三个参数(转载)

    前段时间勾股有提到stringify是支持三个参数,刷新的了我的认知,后来查到文档才发现还真的是支持三个参数的. 参考资料: stringify stringify方法顾名思义,就是把JSON序列换, ...

  10. App测试全(转自鲁德)

    1.App测试流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间. 1.3测试资源 ...