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

这次目的是写一个 类似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. 微信内分享第三方H5链接无法使用内置浏览器打开的解决方案

    很多朋友在微信内想分享转发H5链接的时候都会很容易碰到H5链接在微信内无法打开或在微信内无法打开app下载页的情况.通常这种情况微信会给个提示 “已停止访问该网址” ,那么导致这个情况的因素有哪些呢, ...

  2. vim命令:编辑模式和命令模式

      vim:编辑模式 从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R).当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样.从编辑模式回到一般模 ...

  3. LeetCode136.只出现一次的数字

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: [ ...

  4. 响应式用法rem,需要加入这段JS

    <script type="text/javascript"> $(function(){ function size() { winWidth = $(window) ...

  5. 使用Crawler框架搭建自己的爬虫框架MyCrawler

    自己写一个爬虫框架的目的: 完美架构 在实际的数据采集编码过程中,发现代码比较乱,抓取数据,存储数据的代码混杂在一起,为了构建比较完美的数据采集框架 敏捷开发 将数据采集进行标准流程化,每个标准流程都 ...

  6. css居中flex

    css利用flex实现居中(子元素可以不必管宽高):

  7. c语言利用读取命令行(多行读取)

    #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { FILE *fh = po ...

  8. jQuery动态添加、删除按钮及input输入框

    输入框的加减实现: <html> <head> <meta charset="utf-8"> <title>动态创建按钮</t ...

  9. linux查看主板型号、CPU、显卡、硬盘等信息

    系统 uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # ...

  10. PyCharm的安装和应用

    一.前言 大约几年以前,我曾经跟别人吹过牛逼,说我会深度学习.吹牛的后果就是我得逼自己把深度学习放在我的to-do-list里,在别人揭发我吹牛之前把深度学习学会了,才能名正言顺得对外宣称,我并没有吹 ...